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

2021-10-03 13:33:38 字數 1178 閱讀 6018

輸入一棵二叉樹和乙個整數,列印出二叉樹中節點值的和為輸入整數的所有路徑。從樹的根節點開始往下一直到葉節點所經過的節點形成一條路徑。

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

返回:

解題思路:

演算法流程:

**實現:

# definition for a binary tree node.

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

:def

pathsum

(self, root: treenode, sum_:

int)

-> list[list[

int]]:

# if root is none:return

result =

temp =

#函式是為了對所有的子樹進行搜尋,並將符合條件的結果加入到result中

defdfs

(root,sum_)

:if root:

#遞迴終止條件

ifnot root.left and

not root.right:

ifsum

(temp)

== sum_:0:

])temp.pop(

)return

#遞迴等價條件

dfs(root.left,sum_)

dfs(root.right,sum_)

#取出已經遍歷過的棧內容

temp.pop(

) dfs(root,sum_)

return result

劍指offer 二叉樹 二叉樹搜尋樹

package bst import j a.util.public class bst if pre.length 0 in.length 0 treenode root new treenode pre 0 for int i 0 i in.length i return root 判斷給定陣列...

劍指offer 二叉樹 二叉樹的映象

操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 51,交換左右子樹 2,遞迴交換左右子樹的左右子節點 package offertest title mirror description author 田...

劍指Offer 二叉樹 對稱的二叉樹

含有兩道題,都從樹的遞迴入手 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。解題思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右子樹。實現 definition for a binary tree node.class treenode def init self,x self....