Grokking Oracle Coding Interview
Ask Author
Back to course home

0% completed

Vote For New Content
Just reverse before appending to result?

eesahk

Mar 7, 2025

Can we just do the regular BFS level by level and then reverse at the end of each level?

frontier = deque() frontier.append(root) visited = set() level = 0 while frontier: next_frontier = deque() curr_level = [] for curr_node in frontier: visited.add(curr_node) curr_level.append(curr_node.val) if curr_node.left and curr_node.left not in visited: next_frontier.append(curr_node.left) if curr_node.right and curr_node.right not in visited: next_frontier.append(curr_node.right) if not level % 2 == 0: curr_level = curr_level[::-1] result.append(curr_level) frontier = next_frontier level += 1

0

0

Comments
Comments

On this page