package leetcode;
public class demo_437 {
int count=0;
public int pathSum(TreeNode root, int targetSum) {
order(root, targetSum);
return count;
}
public void order(TreeNode root,int targetSum) {
if(root!=null) {
path(root,0,targetSum);
//将数中的每一个节点都当作一个根节点进行遍历
order(root.left,targetSum);
order(root.right,targetSum);
}
}
public void path(TreeNode root,int sum,int targetSum) {
//以当前节点为根节点,找出是否满足的路径
if(root!=null) {
sum=sum+root.val;
if(sum==targetSum) {
count=count+1;
}
path(root.left, sum, targetSum);
path(root.right, sum, targetSum);
sum=sum-root.val;
}
}
}