路徑和 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);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章