leetcode113(路徑總和II DFS回溯)

2021-10-09 19:18:32 字數 915 閱讀 2531

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。

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

示例:輸入:[5,4,8,11,null,13,4,7,2,null,null,5,1],22

輸出:[ [5,4,11,2], [5,8,4,5] ]

題解:利用dfs回溯法遍歷二叉樹,同時記錄當前路徑的節點值總和,當達到乙個葉子節點時,判斷節點值總和是否等於目標和,如果等於,則得到乙個結果。

class

solution

用於記錄路徑

* 用於記錄結果

*/private

final deque

deque=

newlinkedlist

<

>()

;private

final list

>res=

newarraylist

<

>()

;public list

>

pathsum

(treenode root,

int sum)

/** * @param node 當前搜尋節點

* @param sum 當前路徑的節點值總和

* @param targetsum 目標和

*/private

void

dfs(treenode node,

int sum,

int targetsum)

dfs(node.left,sum,targetsum)

;dfs

(node.right,sum,targetsum)

; deque.

polllast()

;}}

leetcode 113 路徑總和 II

題目描述 給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 class solution void h...

leetcode113 路徑總和 II

參考自 這位博主!給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 解題思路 主要思路就是深搜。但是要...

LeetCode113 路徑總和 II

給定乙個二叉樹和乙個目標和,找到所有從根節點到葉子節點路徑總和等於給定目標和的路徑。說明 葉子節點是指沒有子節點的節點。示例 給定如下二叉樹,以及目標和sum 22,5 48 11134 7251返回 5,4,11,2 5,8,4,5 和上一道 路徑總和i 差不多,記錄一下路徑,不要提前退出。記錄路...