劍指Offer 18 用遞迴法實現二叉樹的映象

2021-10-05 06:03:19 字數 858 閱讀 8089

操作給定的二叉樹,將其變換為源二叉樹的映象。

二叉樹的映象定義如下:

思路:

交換左右子樹的節點,然後遞迴呼叫該方法。

源**:

# definition for a binary tree node.

# class treenode(object):

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

(object):

defmirrortree

(self, root)

:"""

:type root: treenode

:rtype: treenode

"""ifnot root:

#判斷根節點是否為空

return

none

#交換左右子樹的節點

劍指offer 18 醜數

題目 把只包含因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。直觀的想法 從1開始乙個個判斷數字是否為醜數,遇見醜數就記錄下來,直到找到低n個為止,不過這樣計算複雜度太大。class...

劍指offer18 鍊錶問題

題目 思路一 函式引數是頭之指標和值,遍歷鍊錶,如果滿足頭指標指向節點的下乙個節點的值和需要刪掉的值相等,那麼就需要頭指標指向的節點的next域設定為要刪掉的下乙個節點的值。同時返回頭結點的下乙個結點的位址。注意 這種情況不包括頭節點為空和頭節點的值就是要刪掉的值 if head return he...

劍指offer 18 樹的子結構

題目描述 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 思路 用遞迴,遍歷a樹的每乙個節點,然後對於每乙個節點,再判斷是否和a相匹配。coding utf 8 class treenode def init self,x self.val x self.le...