@@ -6,7 +6,7 @@ class Node {
6
6
}
7
7
}
8
8
9
- function differenceSumOfOddAndEven ( root ) {
9
+ function differenceSumOfOddAndEvenSolution1 ( root ) {
10
10
let oddLevelSum = 0 ,
11
11
evenLevelSum = 0 ;
12
12
let queue = [ root , null ] ;
@@ -26,6 +26,11 @@ function differenceSumOfOddAndEven(root) {
26
26
}
27
27
return oddLevelSum - evenLevelSum ;
28
28
}
29
+ function differenceSumOfOddAndEvenSolution2 ( root ) {
30
+ if ( root == null ) return 0 ;
31
+ return root . data - differenceSumOfOddAndEvenSolution1 ( root . leftNode )
32
+ - differenceSumOfOddAndEvenSolution1 ( root . rightNode ) ;
33
+ }
29
34
30
35
//level - 1
31
36
let tree = new Node ( 1 ) ;
@@ -60,4 +65,5 @@ tree.rightNode.rightNode.rightNode = new Node(15);
60
65
// 4 5 6 7
61
66
// / \ / \ / \ / \
62
67
// 8 9 10 11 12 13 14 15
63
- console . log ( 'Difference sum between odd and even level order ' , differenceSumOfOddAndEven ( tree ) ) ;
68
+ console . log ( 'Difference sum between odd and even level order ' , differenceSumOfOddAndEvenSolution1 ( tree ) ) ;
69
+ console . log ( 'Difference sum between odd and even level order ' , differenceSumOfOddAndEvenSolution2 ( tree ) ) ;
0 commit comments