Binary tree level order traversal with a deque. How do you separate levels?
Show answer
Answer
Record len(queue) at the start of each level and pop exactly that many
The queue length at the start of a level equals that level's node count. A None after every node splits per node, not per level. A stack gives DFS order. Incrementing per pop counts nodes, not levels.