Skip to content

Commit c10ed38

Browse files
authored
Update Deepest Leaves Sum.java
1 parent 35d4f2f commit c10ed38

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

Medium/Deepest Leaves Sum.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,30 @@
44
* int val;
55
* TreeNode left;
66
* TreeNode right;
7-
* TreeNode(int x) { val = x; }
7+
* TreeNode() {}
8+
* TreeNode(int val) { this.val = val; }
9+
* TreeNode(int val, TreeNode left, TreeNode right) {
10+
* this.val = val;
11+
* this.left = left;
12+
* this.right = right;
13+
* }
814
* }
915
*/
1016
class Solution {
11-
Map<Integer, Integer> map;
12-
int deepestLevel;
1317
public int deepestLeavesSum(TreeNode root) {
14-
map = new HashMap<>();
15-
deepestLevel = 0;
16-
helper(root, 0);
17-
return map.get(deepestLevel);
18+
Map<Integer, Integer> map = new HashMap<>();
19+
helper(root, 0, map);
20+
return map.getOrDefault(
21+
map.keySet().stream().mapToInt(Integer::valueOf).max().orElse(0), 0
22+
);
1823
}
1924

20-
private void helper(TreeNode root, int level) {
25+
private void helper(TreeNode root, int currLevel, Map<Integer, Integer> map) {
2126
if (root == null) {
2227
return;
2328
}
24-
if (root.left == null && root.right == null) {
25-
map.put(level, map.getOrDefault(level, 0) + root.val);
26-
deepestLevel = Math.max(deepestLevel, level);
27-
return;
28-
}
29-
helper(root.left, level + 1);
30-
helper(root.right, level + 1);
29+
map.put(currLevel, map.getOrDefault(currLevel, 0) + root.val);
30+
helper(root.left, currLevel + 1, map);
31+
helper(root.right, currLevel + 1, map);
3132
}
3233
}

0 commit comments

Comments
 (0)