剑指offer 32 — III.从上到下打印二叉树 III qaq

58 阅读1分钟

image.png

/** 迭代 */
var levelOrder = function (root) {
    if (!root) return [];
    let needReverse = false;
    let treeList = [[root.val]], temp = [], queue = [root];
    while (queue.length) {
        const node = queue.shift();
        node.left && temp.push(node.left);
        node.right && temp.push(node.right);
        if (queue.length === 0 && temp.length) {
            needReverse = !needReverse;
            if (needReverse) {
                treeList.push(temp.map(item => item.val).reverse())
            } else {
                treeList.push(temp.map(item => item.val))
            }
            queue = [...temp];
            temp = [];
        }
    }
    return treeList
};

剑指 Offer 32 - III. 从上到下打印二叉树 III - 力扣(LeetCode)