File tree 1 file changed +9
-8
lines changed
scripts/algorithms/I/Insufficient Nodes in Root to Leaf Paths
1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change
1
+ // Runtime: 160 ms (Top 41.18%) | Memory: 49.6 MB (Top 38.24%)
1
2
var sufficientSubset = function ( root , limit ) {
2
3
const MIN = Number . MIN_SAFE_INTEGER ;
3
4
const sum = removeNodes ( root , 0 ) ;
4
-
5
+
5
6
if ( sum < limit ) return null ;
6
-
7
+
7
8
return root ;
8
-
9
+
9
10
function removeNodes ( node , prevSum ) {
10
11
if ( node == null ) return MIN ;
11
12
if ( node . left == node . right ) return node . val + prevSum ;
12
-
13
+
13
14
const leftSum = removeNodes ( node . left , prevSum + node . val ) ;
14
15
const rightSum = removeNodes ( node . right , prevSum + node . val ) ;
15
-
16
+
16
17
if ( leftSum < limit ) node . left = null ;
17
18
if ( rightSum < limit ) node . right = null ;
18
-
19
+
19
20
if ( node . left == node . right ) return MIN ;
20
-
21
+
21
22
return node . left == null ? rightSum : leftSum ;
22
23
}
23
- } ;
24
+ } ;
You can’t perform that action at this time.
0 commit comments