每日一道算法题——递归求二叉树路径和

每日一道算法题——递归求二叉树路径和_第1张图片

思路: 递归的方式求路径和,总结一下,几条路径中有一个成功即可的时候可以return 递归情况并集
class Solution {
    public boolean hasPathSum(TreeNode root, int sum) {
        int sumVal = 0;
        boolean res = hasPathSum(root,sumVal,sum);
        return res;
    }
    public boolean hasPathSum(TreeNode root,int sumVal,int sum){
             if(root==null) return false;
             if(root.left==null&&root.right==null){
              if(sumVal+root.val==sum){
                return true;
               }
               return false;
             }else{
               sumVal =sumVal + root.val;  
               return hasPathSum(root.left,sumVal,sum)||hasPathSum(root.right,sumVal,sum);
             }
    }
}

你可能感兴趣的:(每日一道算法题——递归求二叉树路径和)