Binary Tree Level Order Traversal Medium 0 attempts
Daily LeetCode ↗

Binary Tree Level Order Traversal

Medium TreeBinary TreeDFS LeetCode

Given a binary tree, return the level order traversal of its nodes' values (i.e., from left to right, level by level).

Example: root = [3,9,20,null,null,15,7] → Output: [[3],[9,20],[15,7]]

Sample Input
Sample Output
Constraints
  • 0 <= number of nodes <= 2000
  • -1000 <= Node.val <= 1000

BFS with Queue

Process nodes level by level using a queue.

function levelOrder(root) {
  if (!root) return [];
  const result = [], q = [root];
  while (q.length) {
    const level = [], size = q.length;
    for (let i = 0; i < size; i++) {
      const node = q.shift();
      level.push(node.val);
      if (node.left) q.push(node.left);
      if (node.right) q.push(node.right);
    }
    result.push(level);
  }
  return result;
}

Time: O(n) | Space: O(n)

Saved in this browser only. Private to you.

JavaScript