public List<List<Integer>> findLeaves(TreeNode root) { Map<Integer, List<Integer>> map = new HashMap<>(); List<List<Integer>> result = new ArrayList<>();
findLeavesHelper(root, map);
for (List<Integer> values : map.values()) result.add(values);
return result; }
privateintfindLeavesHelper(TreeNode root, Map<Integer, List<Integer>> map){ if (root == null) return0;
int left = findLeavesHelper(root.left, map); int right = findLeavesHelper(root.right, map);
int level = Math.max(left, right) + 1; map.putIfAbsent(level, new ArrayList<>()); map.get(level).add(root.val);
近期评论