|
14 | 14 | * }
|
15 | 15 | */
|
16 | 16 | classSolution {
|
17 |
| -publicintmaxLevelSum(TreeNoderoot) { |
18 |
| -if (root ==null) { |
19 |
| -return0; |
20 |
| - } |
21 |
| -intcurrLevel =1; |
22 |
| -intmaxSum =Integer.MIN_VALUE; |
23 |
| -intmaxSumLevel =0; |
24 |
| -Queue<TreeNode>queue =newLinkedList<>(); |
25 |
| -queue.add(root); |
26 |
| -while (!queue.isEmpty()) { |
27 |
| -intsize =queue.size(); |
28 |
| -intcurrSum =0; |
29 |
| -while (size-- >0) { |
30 |
| -TreeNoderemoved =queue.remove(); |
31 |
| -currSum +=removed.val; |
32 |
| -if (removed.left !=null) { |
33 |
| -queue.add(removed.left); |
34 |
| - } |
35 |
| -if (removed.right !=null) { |
36 |
| -queue.add(removed.right); |
| 17 | +publicintmaxLevelSum(TreeNoderoot) { |
| 18 | +intmaxSum =Integer.MIN_VALUE; |
| 19 | +intmaxSumLevel =0; |
| 20 | +intcurrLevel =1; |
| 21 | +Queue<TreeNode>queue =newLinkedList<>(); |
| 22 | +queue.add(root); |
| 23 | +while (!queue.isEmpty()) { |
| 24 | +intlevelSum =0; |
| 25 | +intsize =queue.size(); |
| 26 | +while (size-- >0) { |
| 27 | +TreeNoderemoved =queue.remove(); |
| 28 | +levelSum +=removed.val; |
| 29 | +if (removed.left !=null) { |
| 30 | +queue.add(removed.left); |
| 31 | + } |
| 32 | +if (removed.right !=null) { |
| 33 | +queue.add(removed.right); |
| 34 | + } |
| 35 | + } |
| 36 | +if (levelSum >maxSum) { |
| 37 | +maxSum =levelSum; |
| 38 | +maxSumLevel =currLevel; |
| 39 | + } |
| 40 | +currLevel++; |
37 | 41 | }
|
38 |
| - } |
39 |
| -if (maxSum <currSum) { |
40 |
| -maxSum =currSum; |
41 |
| -maxSumLevel =currLevel; |
42 |
| - } |
43 |
| -currLevel++; |
| 42 | +returnmaxSumLevel; |
44 | 43 | }
|
45 |
| -returnmaxSumLevel; |
46 |
| - } |
47 | 44 | }
|