二叉樹求單一路徑總和

2021-10-11 09:25:30 字數 610 閱讀 8600

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

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

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

5

/ \4 8

/ / \

11 13 4

/ \ \

7 2 1

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

將給定的sum值在每次向下遞迴時減去通過的節點值,最後判斷是否等於葉子節點值即可。

每次遞迴向左或者向右,一旦左空就向右,反之亦然,最後找到葉子節點。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

elseif(

!root-

>left&&root-

>right)

else}}

;

113 路徑總和 II dfs 二叉樹

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和 sum 22,回憶dfs是怎麼用的,若有兩次dfs,應該在第一次之前加路徑點,在第二次之後減路徑點。definition for a binary...

二叉樹 113 路徑總和 II

前序遍歷 回溯 參考 class solution void dfs treenode root,vector ans,vector cur,int targetsum targetsum root val 別寫成了 淚目 cur.push back root val 對節點的處理寫在前面是為了下面...

Q34二叉樹某一路徑的和

輸入一顆二叉樹的根節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。注意 在返回值的list中,陣列長度大的陣列靠前 注意 並未實現 陣列長度大的靠前。遞迴地遍歷獲取路徑 如果到達葉節點,且和符合,則輸出 否則不是葉節點...