給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明: 葉子節點是指沒有子節點的節點。
示例:給定如下二叉樹,以及目標和 sum = 22,
5
/ \4 8
/ / \
11 13 4
/ \ \
7 2 1
返回 true, 因為存在目標和為 22 的根節點到葉子節點的路徑 5->4->11->2。
節點為空時,返回false
只有當節點是葉節點的時候才可能進行判斷只有當節點是葉節點的時候才可能進行判斷,如果這時候剩餘的值等於節點值,返回false,否則返回true;
當節點不是葉節點時,遞迴地判斷左右子樹
節點的值可能為負數
不要設亂七八糟的條件判斷,抓住本質!這種題目要從大處著手,從小處開始想很容易有疏漏!
class
solution
bool haspathcore
(treenode* root,int leftsum)
return
haspathcore
(root-
>left,leftsum-root-
>val)
||haspathcore
(root-
>right,leftsum-root-
>val);}
};
LeetCode112 路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。遍...
Leetcode 112 路徑總和
給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721 返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。...
Leetcode112 路徑總和
112 路徑總和 給定二叉樹和求和,確定樹是否具有根到葉路徑,使得沿路徑的所有值相加等於給定的總和。注意 葉子是沒有子節點的節點。例 鑑於以下二叉樹,sum 22,5 4 8 11 13 4 7 2 1返回true,因為存在乙個5 4 11 2總和為22 的root to leaf路徑。defini...