Skip to content

Commit d4f5e82

Browse files
committed
feat: add ts solution to lc problem: No.1161
No.1161.Maximum Level Sum of a Binary Tree
1 parent 6cd0cf3 commit d4f5e82

File tree

3 files changed

+118
-0
lines changed

3 files changed

+118
-0
lines changed

solution/1100-1199/1161.Maximum Level Sum of a Binary Tree/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,47 @@ func maxLevelSum(root *TreeNode) int {
357357
}
358358
```
359359

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+
360401
### **...**
361402

362403
```

solution/1100-1199/1161.Maximum Level Sum of a Binary Tree/README_EN.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,47 @@ func maxLevelSum(root *TreeNode) int {
337337
}
338338
```
339339

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+
340381
### **...**
341382

342383
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
}

0 commit comments

Comments
 (0)