給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。
說明:葉子節點是指沒有子節點的節點。
解題思路:
分別對乙個節點的左右子樹進行遞迴,不同的是傳入的數值為sum減去節點儲存的值,直到葉子節點,如果此時巢狀傳入的sum的值等於當前節點儲存的值,則表示存在這樣一條路徑。左右子樹遞迴的結果是或的關係。
bool solution::haspathsum(treenode* root, int sum)
/*2.如果root左右子樹都存在,遞迴左右子樹*/
if((root->left != null) && (root->right != null))
/*3.如果root只有左子樹存在,遞迴左子樹*/
else if (root->left != null)
/*3.如果root只有右子樹存在,遞迴右子樹*/
else if(root->right != null)
/*5.到達葉子節點,判斷節點值與當前sum值是否相等*/
else
else
}}
LeetCode112 路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。遍...
LeetCode 112 路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1 返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 ...
Leetcode 112 路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721 返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。...