24 二叉樹中和為某一值的路徑 python

2022-06-13 17:18:12 字數 1124 閱讀 4753

輸入一顆二叉樹的跟節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前)

思路: 層次遍歷,每次記錄當前路徑,最後遍歷到葉子,滿足條件則insert,每次insert到第乙個位置,所以前面自然是最長的。

1

import

copy

2class

solution:3#

返回二維列表,內部每個列表表示找到的路徑

4def

findpath(self, root, expectnumber):5#

write code here

6if root ==none:

7return

8 support =[root]

9 supportarraylist =[[root.val]]

10 ret=

11while

support:

12 tmpnode =support[0]

13 tmparraylist=supportarraylist[0]

14if tmpnode.left==none and tmpnode.right ==none:

15if sum(tmparraylist)==expectnumber:

16ret.insert(0,tmparraylist)

17if

tmpnode.left:

1819 newtmparraylist =copy.copy(tmparraylist)

2021

22if

tmpnode.right:

2324 newtmparraylist =copy.copy(tmparraylist)

2526

27del

support[0]

28del

supportarraylist[0]

29return ret

2019-12-15 09:28:59 

24 二叉樹中和為某一值的路徑

題目描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。時間限制 1秒 空間限制 32768k 思路 dfs深度優先搜尋 struct treenode class solution 需要彈出是因為要回退到...

24 二叉樹中和為某一值的路徑

輸入一顆二叉樹的跟節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。注意 在返回值的list中,陣列長度大的陣列靠前 struct treenode class solution void dfs treenode ro...

( )24 二叉樹中和為某一值的路徑

輸入一顆二叉樹的跟節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。注意 在返回值的list中,陣列長度大的陣列靠前 總結 總結下二叉樹中的路徑問題 112.路徑總和 給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點...