leetcode 131路徑總和

2021-09-29 22:01:02 字數 2287 閱讀 5000

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

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

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

5

/ \4 8

/ / \

11 13 4

/ \ / \

7 2 5 1

返回:

[[5,4,11,2],

[5,8,4,5]

]先把題貼上來。這裡無非就是遞迴回溯然後找到輸出條件即可

這裡先貼下二叉樹的前中後遍歷**

class

tree()

:def

__init__

(self)

:pass

deffront

(self,root)

: res =

defback

(root,res)

:if root is

none

:return

back(root.left,res)

back(root.right,res)

back(root,res)

return res

defmid(self,root)

: res =

defback

(root,res)

:if root is

none

:return

back(root.left,res)

back(root.right,res)

back(root,res)

return res

defbehind

(self,root)

: res =

defback

(root,res)

:if root is

none

:return

back(root.left,res)

back(root.right,res)

back(root,res)

return res

############呼叫

solu = tree(

)front = solu.front(root)

mid = solu.front(root)

behind = solu.behind(root)

輸出:[5,

4,11,

7,2,

8,13,

4,5,

1][7

,11,2

,4,5

,13,8

,5,4

,1][

7,2,

11,4,

13,5,

1,4,

8,5]

這裡我們再看下這個題,首先我們前序遍歷出所有的路徑

1.判斷是否為葉節點,如果是則判斷是否sum==target

2.利用回溯找到所有的路徑

class

solution()

:def

pathsum

(self,root,target)

: front =

res =

self.back(root,front,res)

return res

defback

(self,root,front,res)

:if root is

none

:return

self.back(root.left,front,res)

self.back(root.right,front,res)

if root.left is

none

and root.right is

none

: tt =

[i for i in fron]

ifsum

(tt)

== target:

return

front.pop(

)###########呼叫

solu = solution(

)target =

22res = soul.pathsum(root,target)

print

(res)..

....

..[[

5,4,

11,2]

,[5,

8,4,

5]]

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。...