//寻找以root为根节点的树中,和为sum的路径数目,路径不一定包括root
public int pathSum(TreeNode root, int sum) {
int res = 0;
if (root == null) {
return res;
}
res+=getPath(root,sum);
res+=pathSum(root.left, sum);
res+=pathSum(root.right, sum);
return res;
}
//寻找以root为根节点的树中,和为sum的路径数目,路径包括root
private int getPath(TreeNode root, int sum) {
int res = 0;
if (root == null) {
return res;
}
if (root.val == sum) {
res++;
}
res += getPath(root.left, sum - root.val);
res += getPath(root.right, sum - root.val);
return res;
}
Leetcode437:路径总和 III
最新推荐文章于 2024-07-03 22:53:03 发布