关于javascript:Day-11100-二叉树的层序遍历

7次阅读

共计 623 个字符,预计需要花费 2 分钟才能阅读完成。

/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {*     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number}
 */
var findBottomLeftValue = function(root) {
    let res=null
    // 采纳层序遍历
    let layer=[] // 以后层
    layer.push(root) // 把根节点存入,作为第一层
    while(layer.length){
        let len=layer.length;// 以后层的数量
        for(let i=0;i<len;i++){ // 每次的 for 循循环遍历的是下一层,for 循环后生成下一层,如果 while 中 layer 的数量大于 1,代表还有下一层
            // 队列的第一个出列
            let head=layer.shift()
            if(i==0){
                // 下一层的第一个节点,就是最底层的最右边的值;res=head.val
            }
            head.left&&layer.push(head.left)
            head.right&&layer.push(head.right)
        }
    }
    return res;
};

参考链接

力扣题目

正文完
 0