1. 程式人生 > >leetcode 112. 路徑總和 java解題

leetcode 112. 路徑總和 java解題

題目描述:

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。

說明: 葉子節點是指沒有子節點的節點。

示例: 
給定如下二叉樹,以及目標和 sum = 22

              5
             / \
            4   8
           /   / \
          11  13  4
         /  \      \
        7    2      1

返回 true, 因為存在目標和為 22 的根節點到葉子節點的路徑 5->4->11->2

題目傳送門:

程式碼:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean hasPathSum(TreeNode root, int sum) {
        if(root==null){
            return false;
        }
        if(root.left==null&&root.right==null){
            if(root.val==sum)
                return true;
            return false;
        
        }
        boolean result = true;
        result = hasPathSum(root.left,sum-root.val);
        if(result==true){
            return result;
        }
        result = hasPathSum(root.right,sum-root.val);
        if(result==true){
            return result;
        }
        return false;
        
    }
}

相關推薦

leetcode 112. 路徑總和 java解題

題目描述: 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5

leetcode 112. 路徑總和(java)

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5

[Leetcode] 112. 路徑總和 java

 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5 /

leetcode 112. 路徑總和

nbsp spa true lse style 相加 HA color 葉子節點 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum

Leetcode:112.路徑總和

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5

LeetCode——112.路徑總和(JavaScript)

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22, 5 / \

LeetCode 112. 路徑總和 Python

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5 / \

leetcode-112. 路徑總和

題目 路徑總和 題目描述提示幫助提交記錄社群討論閱讀解答 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 s

LeetCode-112.路徑總和(相關話題:深度優先)

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22, 5 / \

LeetCode 112. 路徑總和(C++、python)

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5

leetcode 112:路徑總和

感覺二叉樹用遞迴基本都能做出來,這個也比較簡單 bool hasPathSum(TreeNode* root,int sum){ if(root==NULL) return false; TreeNode*l=root->left;

Leetcode——112. 路徑總和

112. 路徑總和 給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22, 5

LeetCode 112.路徑總和

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹,以及目標和 sum = 22, 5 / \

LeetCode112. 路徑總和

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。 說明: 葉子節點是指沒有子節點的節點。 示例:  給定如下二叉樹,以及目標和 sum = 22, 5 / \

leetcode】Python實現-112.路徑總和

描述 我 class Solution: def hasPathSum(self, root, sum): """ :type root: TreeNode :type sum: int

LeetCode刷題112——路徑總和問題

給定一個二叉樹和一個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明: 葉子節點是指沒有子節點的節點。示例: 給定如下二叉樹,以及目標和 sum = 22, 5 / \

leetcode 437. 路徑總和 III

開始 spa 子節點 sum left 返回 leetcode urn nod 給定一個二叉樹,它的每個結點都存放著一個整數值。 找出路徑和等於給定數值的路徑總數。 路徑不需要從根節點開始,也不需要在葉子節點結束,但是路徑方向必須是向下的(只能從父節點到子節點)。 二叉樹不

Leetcode 113. 路徑總和 II

binary div for class str efi sum span int /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode

112. 路徑總和

子節點 there ini nod 一個 mine binary min == Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up

[leetcode] 113. 路徑總和 II

113. 路徑總和 II 這題跟上個題的區別112. 路徑總和,需要儲存下路徑,且有可能出現多條路徑。 在前一個題的基礎上加上回溯即可 class Solution { public List<List<Integer>> pathSum(TreeNode root, i