劍指offer34 二叉樹中和為某一值的路徑

2021-09-25 01:36:49 字數 867 閱讀 8325

1.判斷是不是空樹

2.遞迴結束的條件是葉子節點

3.考察二叉樹前序遍歷

# -*- coding:utf-8 -*-

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

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

deffindpath

(self, root, expectnumber)

:# write code here

ifnot root:

return

if root and

not root.left and

not root.right and root.val == expectnumber:

return

[[root.val]

] res =

left = self.findpath(root.left, expectnumber-root.val)

right = self.findpath(root.right, expectnumber-root.val)

for i in left+right:

[root.val]

+i)return res

劍指Offer 34 二叉樹中和為某一值的路徑

題目描述 輸入一顆二叉樹和乙個整數,列印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。struct treenode class solution void dfs treenode root,int s,vector ret,vect...

劍指Offer 34 二叉樹中和為某一值的路徑

輸入一棵二叉樹和乙個整數,列印出二叉樹中節點值的和為輸入整數的所有路徑。從樹的根節點開始往下一直到葉節點所經過的節點形成一條路徑。例 給定如下二叉樹,以及目標和 sum 22,5 4 8 11 13 4 7 2 5 1返回 5,4,11,2 5,8,4,5 思路很明確,深度優先搜尋sum node ...

劍指Offer 34 二叉樹中和為某一值的路徑

20.5.3 最佳寫法 注意不要在新增了一條路徑後直接返回,任何乙個節點返回時都要從路徑中pop出去 class solution void dfs treenode root,int sum if root left dfs root left,sum if root right dfs root...