/** * 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;};
参考链接
力扣题目