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

/**
 * 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;
};

参考链接

力扣题目

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理