LeetCode——112. 路径总和(深搜dfs)

题目描述:

在这里插入图片描述

解题思路:

深搜
参考代码:

    boolean flag=false;
    int tempsum=0;
    public boolean hasPathSum(TreeNode root, int sum) {
    
    
        if(root==null)
            return flag;
        dfs(root,sum);
        return flag;
    }

    public void dfs(TreeNode root,int sum){
    
    
        if(root==null)
            return;
        tempsum+=root.val;
        if(tempsum==sum&&root.left==null&&root.right==null)
        {
    
    
            flag=true;

        }
        dfs(root.left,sum);
        dfs(root.right,sum);
        tempsum-=root.val;

    }
    public boolean hasPathSum(TreeNode root, int sum) {
    
    
       if(root==null)
           return false;
       if(root.left==null&&root.right==null)
           return root.val==sum;
       return hasPathSum(root.left,sum-root.val)||hasPathSum(root.right,sum-root.val);
    }

猜你喜欢

转载自blog.csdn.net/qq_44900959/article/details/109653608