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