File tree Expand file tree Collapse file tree 3 files changed +118
-0
lines changed
solution/1100-1199/1161.Maximum Level Sum of a Binary Tree Expand file tree Collapse file tree 3 files changed +118
-0
lines changed Original file line number Diff line number Diff line change @@ -357,6 +357,47 @@ func maxLevelSum(root *TreeNode) int {
357
357
}
358
358
```
359
359
360
+ ### ** TypeScript**
361
+
362
+ ``` ts
363
+ /**
364
+ * Definition for a binary tree node.
365
+ * class TreeNode {
366
+ * val: number
367
+ * left: TreeNode | null
368
+ * right: TreeNode | null
369
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
370
+ * this.val = (val===undefined ? 0 : val)
371
+ * this.left = (left===undefined ? null : left)
372
+ * this.right = (right===undefined ? null : right)
373
+ * }
374
+ * }
375
+ */
376
+
377
+ function maxLevelSum(root : TreeNode | null ): number {
378
+ const queue = [root ];
379
+ let res = 1 ;
380
+ let max = - Infinity ;
381
+ let h = 1 ;
382
+ while (queue .length !== 0 ) {
383
+ const n = queue .length ;
384
+ let sum = 0 ;
385
+ for (let i = 0 ; i < n ; i ++ ) {
386
+ const { val, left, right } = queue .shift ();
387
+ sum += val ;
388
+ left && queue .push (left );
389
+ right && queue .push (right );
390
+ }
391
+ if (sum > max ) {
392
+ max = sum ;
393
+ res = h ;
394
+ }
395
+ h ++ ;
396
+ }
397
+ return res ;
398
+ }
399
+ ```
400
+
360
401
### ** ...**
361
402
362
403
```
Original file line number Diff line number Diff line change @@ -337,6 +337,47 @@ func maxLevelSum(root *TreeNode) int {
337
337
}
338
338
```
339
339
340
+ ### ** TypeScript**
341
+
342
+ ``` ts
343
+ /**
344
+ * Definition for a binary tree node.
345
+ * class TreeNode {
346
+ * val: number
347
+ * left: TreeNode | null
348
+ * right: TreeNode | null
349
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
350
+ * this.val = (val===undefined ? 0 : val)
351
+ * this.left = (left===undefined ? null : left)
352
+ * this.right = (right===undefined ? null : right)
353
+ * }
354
+ * }
355
+ */
356
+
357
+ function maxLevelSum(root : TreeNode | null ): number {
358
+ const queue = [root ];
359
+ let res = 1 ;
360
+ let max = - Infinity ;
361
+ let h = 1 ;
362
+ while (queue .length !== 0 ) {
363
+ const n = queue .length ;
364
+ let sum = 0 ;
365
+ for (let i = 0 ; i < n ; i ++ ) {
366
+ const { val, left, right } = queue .shift ();
367
+ sum += val ;
368
+ left && queue .push (left );
369
+ right && queue .push (right );
370
+ }
371
+ if (sum > max ) {
372
+ max = sum ;
373
+ res = h ;
374
+ }
375
+ h ++ ;
376
+ }
377
+ return res ;
378
+ }
379
+ ```
380
+
340
381
### ** ...**
341
382
342
383
```
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * class TreeNode {
4
+ * val: number
5
+ * left: TreeNode | null
6
+ * right: TreeNode | null
7
+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
8
+ * this.val = (val===undefined ? 0 : val)
9
+ * this.left = (left===undefined ? null : left)
10
+ * this.right = (right===undefined ? null : right)
11
+ * }
12
+ * }
13
+ */
14
+
15
+ function maxLevelSum ( root : TreeNode | null ) : number {
16
+ const queue = [ root ] ;
17
+ let res = 1 ;
18
+ let max = - Infinity ;
19
+ let h = 1 ;
20
+ while ( queue . length !== 0 ) {
21
+ const n = queue . length ;
22
+ let sum = 0 ;
23
+ for ( let i = 0 ; i < n ; i ++ ) {
24
+ const { val, left, right } = queue . shift ( ) ;
25
+ sum += val ;
26
+ left && queue . push ( left ) ;
27
+ right && queue . push ( right ) ;
28
+ }
29
+ if ( sum > max ) {
30
+ max = sum ;
31
+ res = h ;
32
+ }
33
+ h ++ ;
34
+ }
35
+ return res ;
36
+ }
You can’t perform that action at this time.
0 commit comments