找树左下角的值
Question
给定一个二叉树的 根节点 root
,请找出该二叉树的 最底层 最左边 节点的值。
假设二叉树中至少有一个节点。
js
var findBottomLeftValue = function(root) {
const ans = levelOrder(root)
console.log(ans)
return ans[ans.length-1][0] //层序遍历取最后一个数组的第一个
};
//层序遍历
var levelOrder = function(root) {
const queue = []
const ans = []
if(root!=null)
queue.push(root)
let index = 0 //记录第几层
while(queue.length!=0){
ans.push([])
let len = queue.length //记录该层有几个节点
for(let i=0;i<len;i++){
let p = queue.shift() //shift() 方法从数组中删除第一个元素,并返回该元素的值
ans[index].push(p.val)
if(p.left!=null) queue.push(p.left)
if(p.right!=null) queue.push(p.right)
}
index++
}
return ans
};