Level Order Traversal (BFS) visits nodes level by level, left to right. While DFS uses recursion/stack, BFS uses a queue.
Algorithm:
The key trick: use for _ in range(len(queue)) to process exactly one level at a time. Time: O(n), Space: O(n).
level_order(root)
[[3], [9, 20], [15, 7]]
level_order(None)
[]