路径和 I

问题: 给定一棵二叉树和一个值,判断是否存在从根到叶子节点的路径和等于给定的值。

思路: 采用递归的方式,如果当前为非叶子节点,递归处理其子节点,传递目标值减去当前节点的值,如果是叶子节点,比较当前值和目标值,如果为空,返回False。

java代码:

public boolean hasPathSum(TreeNode root,int sum){
        if(root==null)
            return false;
        if(root.right==null&&root.left==null)
            return root.val==sum;
        return hasPathSum(root.left,sum-root.val)||
        hasPathSum(root.right,sum-root.val);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章