LeetCode第35天🐱‍🏍

282 阅读1分钟

429. N 叉树的层序遍历

var levelOrder = function(root) {
    let res = [], queue = []
    if (!root) return res
    queue.push(root)     // 队列先进先出

    while (queue.length) {
        let len = queue.length, curLevel = []   // 记录每一层的节点

        for (let i = 0; i < len; i++) {
            let node = queue.shift()
            curLevel.push(node.val)
            for (let item of node.children) 
                queue.push(item)
        }
        res.push(curLevel)
    }

    return res
}

226. 翻转二叉树

var invertTree = function(root) {
    if (root === null) {
        return null;
    }
    const left = invertTree(root.left);
    const right = invertTree(root.right);
    root.left = right;
    root.right = left;
    return root;
}