import java.util.*;
public class Solution {
int res = 0;
// 该题路径定义:不需要从根节点开始,也不需要在叶子结点结束
// 遍历每一棵树及子树
public int FindPath (TreeNode root, int sum) {
// write code here
if(root == null){
return res;
}
// 查询以某节点为根的路径数
dfs(root,sum);
// 再以子节点为根,遍历整棵树
FindPath(root.left,sum);
FindPath(root.right,sum);
return res;
}
public void dfs(TreeNode root, int sum){
if(root == null) return;
if(sum - root.val == 0){
res++;
}
dfs(root.left,sum - root.val);
dfs(root.right,sum - root.val);
}
}



京公网安备 11010502036488号