102. Binary Tree Level Order Traversal
mediumReturn the values of a binary tree level by level, top to bottom, left to right. The canonical BFS introduction problem — patterns from here unlock dozens of tree variants.
By Sam K., Founder, InterviewChamp.AI · Last verified
Problem
Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level).
Constraints
The number of nodes in the tree is in the range [0, 2000].-1000 <= Node.val <= 1000
Examples
Example 1
root = [3,9,20,null,null,15,7][[3],[9,20],[15,7]]Example 2
root = [1][[1]]Example 3
root = [][]Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Hints
Progressive — try the first before opening the next.
Hint 1
BFS with a queue is the natural fit — but you need to know where each level starts and ends.
Hint 2
Snapshot the queue size at the start of each level; that's exactly the number of nodes in this level.
Hint 3
For each level, pop that many nodes, collect their values, and enqueue their children.
Solution approach
Reveal approach
BFS with per-level batching. Use a queue initialized with root (early-return empty if root is null). Loop while the queue is non-empty: snapshot levelSize = queue.length; collect levelSize values into a new list while popping that many nodes from the front of the queue and enqueueing each one's non-null children. Append the level list to the result. After the loop return result. The snapshot trick keeps levels separated cleanly without sentinel values. O(n) time, O(width) extra space for the queue (up to O(n) in the worst case).
Complexity
- Time
- O(n)
- Space
- O(n)
Related patterns
- bfs
- queue
Related problems
Asked at
Companies reported asking this problem (sourced from public Glassdoor, Blind, and Levels.fyi interview posts).
- Amazon
- Microsoft
- Meta
- Bloomberg
More Trees practice problems
- 94. Binary Tree Inorder Traversal
- 98. Validate Binary Search Tree
- 100. Same Tree
- 101. Symmetric Tree
- 103. Binary Tree Zigzag Level Order Traversal
- 104. Maximum Depth of Binary Tree
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 108. Convert Sorted Array to Binary Search Tree