解题思路:
深度优先搜索
搜索所有节点的情况。
class Solution {
public int pathSum(TreeNode root, long targetSum) {
if (root == null) return 0;
int res = recur(root, targetSum);
res += pathSum(root.left, targetSum);
res += pathSum(root.right, targetSum);
return res;
}
public int recur(TreeNode root, long targetSum) {
int res = 0;//以新节点为起点,res置0
if (root == null) return 0;
int val = root.val;
if (val == targetSum) res++;
res += recur(root.left, targetSum - val);
res += recur(root.right, targetSum - val);
return res;
}
}