题目
给你一棵二叉树的根节点 root
,请你返回 层数最深的叶子节点的和 。
示例1
输入: 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)
}
};