二叉樹和為某一值的路徑

2021-09-27 11:32:40 字數 1060 閱讀 6265

此題的路徑是從根到葉子節點,包含這兩個本身

class solution:

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

def findpath(self, root, expectnumber):

# write code here

# 必須根到葉節點,包括根和葉子節點

# 前序遍歷非遞迴法

if root == none:

return

result =

stack =

while stack:

node, path = stack.pop()

# 葉子節點

if node.left == none and node.right == none and sum(path) == expectnumber:

if node.right != none:

if node.left != none:

return result

class solution:

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

def findpath(self, root, expectnumber):

# write code here

# 必須根到葉節點,包括根和葉子節點

# 前序遍歷遞迴法

def dfs(node, path):

if not node: return

if not node.left and not node.right and sum(path) == expectnumber:

if node.left:

dfs(node.left, path + [node.left.val])

if node.right:

dfs(node.right, path + [node.right.val])

if not root: return

res =

dfs(root, [root.val])

return res

二叉樹和為某一值的路徑

題目 二叉樹和為某一值的路徑 描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。延伸 若要求路徑不一定非得從二叉樹的根節點或葉節點開始或結束,求所有節點數值總和等於某個給定值的所有路徑。找出二叉樹中所有滿...

二叉樹為某一值的路徑

題目 輸入一顆二叉樹的根節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。注意 在返回值的list中,陣列長度大的陣列靠前 思路 深度優先搜尋。使用前序遍歷,使用兩個全域性變數result和tmp,result來存放最終...

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

輸入一顆二叉樹的跟節點和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。利用深度優先搜尋遍歷所有的路徑,然後將路徑壓入vector 中,並返回。構造的樹 9 45 110 23 6 構造樹用前序和中序序列確定 前序 9,4,...