每日一题 -- 树 | 堆
513. 找树左下角的值
513. 找树左下角的值
分析
- 使用 bfs 遍历到最后一层
- 重点是需要找到判断每一层最左边值的方法,这里是用每次重新进入队列时的 level 和进入 level 处理层节点时 curLevel 存在值不一样,来判断每一层第一个节点
var findBottomLeftValue = function(root) {
if(!root) return root
const queue = []
queue.push(root)
let res = undefined
let level = 0;
let curLevel = 0 ;
while(queue.length){
let len = queue.length
level++
while(len--){
const root = queue.shift()
if(level !== curLevel){
curLevel = level
res = root.val
}
if(root.left) queue.push(root.left)
if(root.right) queue.push(root.right)
}
}
return res
};