InterviewHubPRO
Section Overview
Q60

Question 60 of 100

Part 7: Binary Trees, BSTs & Traversals (53 - 64)

60%
DSA Patterns (Multi-Lang)•Part 7: Binary Trees, BSTs & Traversals (53 - 64)

Binary Tree Level Order Traversal.

In Simple Words: BFS with a Queue. For each level, record levelSize = queue.length. Pop exactly levelSize nodes, collect their values in a sub-list, and push their non-null children.

  • Time: $O(N)$ | Space: $O(W) = O(N)$
Multi-Language Solutions
Switch tabs or choose All
from collections import deque

def levelOrder(root: TreeNode | None) -> list[list[int]]:
    if not root: return []
    res = []
    q = deque([root])
    while q:
        level = []
        for _ in range(len(q)):
            node = q.popleft()
            level.append(node.val)
            if node.left: q.append(node.left)
            if node.right: q.append(node.right)
        res.append(level)
    return res