力扣-437.路径总和III
题目链接
437.路径总和III
class Solution {public int dfs(TreeNode root, long targetSum) {int res = 0;if (root == null)return 0;if (root.val == targetSum)res++;res += dfs(root.left, targetSum - root.val);res += dfs(root.right, targetSum - root.val);return res;}public int pathSum(TreeNode root, long targetSum) {if (root == null) return 0;return dfs(root, targetSum) + pathSum(root.left, targetSum) + pathSum(root.right, targetSum);}
}
小结:因为不一定是从根结点开始,所以要写一个函数dfs
,返回值是从某一结点开始,和为targetSum
的路径数量,再递归调用dfs
遍历树的所有节点。