05 August 2008
给定二叉树的根,返回节点值等于其后代值之和的节点数。
节点 x 的后代是从节点 x 到某个叶节点的路径上的任何节点。如果节点没有后代,则总和被认为是 0。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
int count = 0;
public int equalToDescendants(TreeNode root) {
dfs(root);
return count;
}
public int dfs(TreeNode root) {
if (root != null) {
int sum = dfs(root.left) + dfs(root.right);
if (sum == root.val) {
count++;
}
return sum + root.val;
}
return 0;
}
}