题解 | 二叉树中和为某一值的路径(三)
二叉树中和为某一值的路径(三)
https://www.nowcoder.com/practice/965fef32cae14a17a8e86c76ffe3131f
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); } }