1302. 层数最深叶子节点的和

思路:

class Solution {
int maxDepth = -1;
int sum = 0;
public int deepestLeavesSum(TreeNode root) {
return dfs(root, 0);
}
private int dfs(TreeNode root, int depth) {
if (root == null) {
return 0;
}
if (maxDepth < depth) {
maxDepth = depth;
sum = root.val;
} else if (depth == maxDepth) {
sum += root.val;
}
if (root.left != null) {
dfs(root.left, depth + 1);
}
if (root.right != null) {
dfs(root.right, depth + 1);
}
return sum;
}
}

浙公网安备 33010602011771号