File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change 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 ) ) ;
You can’t perform that action at this time.
0 commit comments