0
点赞
收藏
分享

微信扫一扫

LeetCode 437.路径总和III

萧让听雪 2023-01-21 阅读 52


​​https://leetcode-cn.com/problems/path-sum-iii/solution/javajie-fa-shi-jian-100-kong-jian-93-by-xiao-chao-/​​LeetCode   437.路径总和III_递归

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
1.递归:
总路径数目 = 以从根结点出发的路径数目+以从左节点出发的路径数目+以从右节点出发的路径数目
class Solution {

public int pathSum(TreeNode root, int sum) {
if(root==null){
return 0;
}
return findPath(root,sum)
+pathSum(root.left,sum)
+pathSum(root.right,sum);

}
public int findPath(TreeNode root, int sum) {
if(root==null){
return 0;
}
//sum为0时,就刚好找到了该路径!
sum-=root.val;

int left = findPath(root.left,sum);
int right = findPath(root.right,sum);
return sum==0?left+right+1:left+right;
}
}


举报

相关推荐

0 条评论