Skip to content
On this page

找树左下角的值

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