![](/img/trans.png)
[英]Sum of all nodes in a binary tree giving incorrect output in JavaScript
[英]How to sum left nodes from binary tree javascript
我有一棵二叉树,我想对所有最左边的节点求和。 所以
2
/ \
7 5
/ \ / \
2 6 9
拿那棵树来说,我希望结果是 11,因为我想求和 2+7+2。
所以我试着这样做:
function leftmostNodesSum(array) {
let sum = 0;
let currentNode = array[0];
let previousNode;
for (let i = 0; i < array.length; i++) {
if (i === currentNode * 2 + 1) {
previousNode = currentNode;
currentNode = array[i];
sum += previousNode;
}
}
return sum;
}
我不得不说我的数组采用“广度优先”格式,所以我的第一个节点在我的数组中的索引为 0,左边的节点是 2n + 1。数组看起来像这样: [2, 7, 5, 2, 6, 0, 9]
数字 0 代表一个空节点。
我对此有点陌生,所以我很感激你的帮助,知道吗?
function leftmostNodesSum(array) {
let sum = 0;
let currentNode = 0;
for (let i = 0; i < array.length; i++) {
if (i === currentNode) {
sum += array[i];
currentNode = 2 * i + 1;
}
}
return sum;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.