112 路徑總和

2022-10-09 06:18:09 字數 1379 閱讀 2538

112. 路徑總和

給你二叉樹的根節點root和乙個表示目標和的整數targetsum。判斷該樹中是否存在 根節點到葉子節點 的路徑,這條路徑上所有節點值相加等於目標和targetsum。如果存在,返回true;否則,返回false

示例 1:

輸入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetsum = 22

輸出:true

解釋:等於目標和的根節點到葉節點路徑如上圖所示。

示例 2:

輸入:root = [1,2,3], targetsum = 5

輸出:false

解釋:樹中存在兩條根節點到葉子節點的路徑:

(1 --> 2): 和為 3

(1 --> 3): 和為 4

不存在 sum = 5 的根節點到葉子節點的路徑。

示例 3:

輸入:root = , targetsum = 0

輸出:false

解釋:由於樹是空的,所以不存在根節點到葉子節點的路徑。

1/**

2* definition for a binary tree node.

3* struct treenode

8* treenode(int x) : val(x), left(nullptr), right(nullptr) {}

9* treenode(int x, treenode *left, treenode *right) : val(x), left(left), right(right) {}

10* };

11*/

12class

solution

18 sum -= root->val;

19if (root->left == nullptr && root->right == nullptr && sum == 0

) 22

return dfs(root->left, sum) || dfs(root->right, sum);23}

24bool haspathsum(treenode* root, int

targetsum)

27 };

112 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 1113 4 721返回true,因為存在目標和為 22 的根節點到葉子節點的路徑5 4 11 2。d...

112路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。進行分析,遞迴終止的條件是什麼?一次遞迴中要進行什麼操作?遞迴想要返回什麼資訊?終止條件 結點為空 遞迴中操作 sum減去當前結點值,當sum為0且當前為葉子...

112 路徑總和

給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點到葉子節點的路徑,這條路徑上所有節點值相加等於目標和。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 1返回 true,因為存在目標和為 22 的根節點到葉子節點的路徑 5 4...