Maximum Level Sum of a Binary Tree LeetCode solution in Java
1class Solution {2Map<Integer, Integer> map = new HashMap<>();34public void go(TreeNode root, int level) {5if (root == null) return;6if (map.containsKey(level)) {7map.put(level, map.get(level) + root.val);8} else {9map.put(level, root.val);10}1112go(root.left, level + 1);13go(root.right, level + 1);14}1516public int maxLevelSum(TreeNode root) {17go(root, 0);18int max = Integer.MIN_VALUE, ind = -1;19for (var i : map.entrySet()) {20if (max < i.getValue()) {21max = i.getValue();22ind = i.getKey();23}24}25return ind + 1;26}27}