Leetcode•Jun 06, 2025
Binary Tree Level Order Traversal
Hazrat Ali
Leetcode
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).
Example 1:
Input: root = [3,9,20,null,null,15,7] Output: [[3],[9,20],[15,7]]
Example 2:
Input: root = [1] Output: [[1]]
Example 3:
Input: root = [] Output: []
Solution
/**
* @param {TreeNode} root
* @return {number[][]}
*/
const levelOrder = root => {
if (!root) {
return [];
}
const result = [];
const queue = [root, null];
let level = [];
while (queue.length > 0) {
const node = queue.shift();
if (node) {
level.push(node.val);
if (node.left) {
queue.push(node.left);
}
if (node.right) {
queue.push(node.right);
}
} else {
result.push(level);
if (queue.length > 0) {
level = [];
queue.push(null);
}
}
}
return result;
};