Leetcode•Oct 03, 2026

Binary Tree Level Order Traversal II

Hazrat Ali

Leetcode

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

 

Example 1:

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

Example 2:

Input: root = [1]
Output: [[1]]

Example 3:

Input: root = []
Output: []

Solution
var levelOrderBottom = function(root) {
    if (!root) return [];

    const queue = [root];
    const result = [];

    let front = 0;

    while (front < queue.length) {
        const levelSize = queue.length - front;
        const level = [];

        for (let i = 0; i < levelSize; i++) {
            const node = queue[front++];

            level.push(node.val);

            if (node.left) {
                queue.push(node.left);
            }

            if (node.right) {
                queue.push(node.right);
            }
        }

        result.push(level);
    }

    return result.reverse();
};


Comments