|
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 | } |