题目名称

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

示例

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

输出:15

题解

参照623. 在二叉树中增加一行,首先将二叉树按照广度优先遍历的方法,生成一个二维数组,二维数组的每一个元素都是二叉树的一层节点,只需要统计二维数组最后一个元素的和即可

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var OrderedStream = function(n) {
this.stream = new Array(n + 1).fill(0)
this.ptr = 1
this.length = n + 1
};

/**
* @param {number} idKey
* @param {string} value
* @return {string[]}
*/
OrderedStream.prototype.insert = function(idKey, value) {
this.stream[idKey] = value
if(this.stream[this.ptr]) {
const arr = []
for(let i = this.ptr; i < this.length; i++) {
if(!this.stream[i]) {
this.ptr = i
return arr
}
arr.push(this.stream[i])
}
return arr;
}
return []
};