輸入一顆二叉樹的跟節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前)
思路: 層次遍歷,每次記錄當前路徑,最後遍歷到葉子,滿足條件則insert,每次insert到第乙個位置,所以前面自然是最長的。
1import
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.路徑總和 給定乙個二叉樹和乙個目標和,判斷該樹中是否存在根節點...