[路飞]_层数最深叶子节点的和

156 阅读1分钟

1302. 层数最深叶子节点的和

题目

给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和 。

示例1

image.png

输入: root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
输出: 15

题解

利用二叉树层序遍历,参考 二叉树层序 遍历 这片文章;

将层序遍历得到的数组最后一个位置上的lastArray数组取出,对数组lastArray求和即可

代码

var deepestLeavesSum = function(root) {
    let list = []
    helper(root,0)
    //console.log('array',array)
    const array = list.pop()
    return array.reduce((a,b)=>a+b)
    function helper(node,level){
        if(node === null) return 
        if(list[level] === undefined){
            list[level] = [node.val]
        }else{
             list[level].push(node.val)
        }
        helper(node.left,level+1)
        helper(node.right,level+1)

    }

};