Skip to content

Commit f8f3df2

Browse files
committed
sum of nodes in tree
1 parent 298b5c7 commit f8f3df2

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

Data-Structure/Trees/sumOfNodes.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
'use strict';
2+
class Node {
3+
constructor(data) {
4+
this.data = data;
5+
this.leftNode = this.rightNode = null;
6+
}
7+
}
8+
9+
function sumOfNodes(root) {
10+
if(root == null) return 0;
11+
return root.data + sumOfNodes(root.leftNode) + sumOfNodes(root.rightNode);
12+
}
13+
14+
//level - 1
15+
let tree = new Node(1);
16+
17+
// level - 2
18+
tree.leftNode = new Node(2);
19+
tree.rightNode = new Node(3);
20+
21+
// level - 3
22+
tree.leftNode.leftNode = new Node(4);
23+
tree.leftNode.rightNode = new Node(5);
24+
25+
tree.rightNode.leftNode = new Node(6);
26+
tree.rightNode.rightNode = new Node(7);
27+
28+
// level - 4
29+
tree.leftNode.leftNode.leftNode = new Node(8);
30+
tree.leftNode.leftNode.rightNode = new Node(9);
31+
32+
tree.leftNode.rightNode.leftNode = new Node(10);
33+
tree.leftNode.rightNode.rightNode = new Node(11);
34+
35+
tree.rightNode.leftNode.leftNode = new Node(12);
36+
tree.rightNode.leftNode.rightNode = new Node(13);
37+
38+
tree.rightNode.rightNode.leftNode = new Node(14);
39+
tree.rightNode.rightNode.rightNode = new Node(15);
40+
// 1
41+
// / \
42+
// 2 3
43+
// / \ / \
44+
// 4 5 6 7
45+
// / \ / \ / \ / \
46+
// 8 9 10 11 12 13 14 15
47+
console.log('Sum of Nodes', sumOfNodes(tree));

0 commit comments

Comments
 (0)