Leetcode 113 路徑總和 II

2021-09-12 21:49:08 字數 1626 閱讀 9523

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

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

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

5

/ \4 8

/ / \

11 13 4

/ \ / \

7 2 5 1

返回:

[[5,4,11,2],

[5,8,4,5]

]

class

solution

:def

pathsum

(self, root,

sum)

:"""

:type root: treenode

:type sum: int

:rtype: list[list[int]]

"""result =

list()

if root ==

none

:return result

ifnot root.left and

not root.right and

sum== root.val:

[root.val]

)return result

left = self.pathsum(root.left,

sum- root.val)

for i in left:

i.insert(

0, root.val)

right = self.pathsum(root.right,

sum- root.val)

for i in right:

i.insert(

0, root.val)

return result

用這種方法會報錯int沒有insert,問了大佬後發現第乙個left之所以可以insert是因為是treenode型別的,後面是int數值型別的,不可能會有insert,所以不適合用這種解法

def

pathsum

(self,root,

sum)

: self.auxpathsum(root,

sum,

, res)

return res

defauxpathsum

(self,root,

sum,cur_list,cur_lists):if

notsum

:return

ifsum==0

andnot root.left and

not root.right:

[root.val]

)return

if root.left:

self.auxpathsum(root.left,

sum, cur_list +

[root.val]

, cur_lists)

if root.right:

self.auxpathsum(root.right,

sum,cur_list +

[root.val]

,cur_lists)

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 差不多,記錄一下路徑,不要提前退出。記錄路...