題目:二叉樹的映象
操作給定的二叉樹,將其變換為源二叉樹的映象。思路:遇到樹,用遞迴總沒錯。首先將root的左右子樹交換,再對左子樹進行遞迴映象轉換,然後對右子樹進行遞迴映象轉換。直到當前函式root為空,遞迴結束。
**
# -*- coding:utf-8 -*-
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution:
# 返回映象樹的根節點
defmirror
(self, root):
# write code here
if root is
none:
return
root.left, root.right = root.right, root.left
self.mirror(root.left)
self.mirror(root.right)
return root
劍指Offer Python 重建二叉樹
題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。思路 遞迴實現。主要思路就是通過前序遍歷和中序遍歷確定一棵樹。coding utf 8 class treenode def ...
平衡二叉樹 劍指offer python
第一次寫是從上向下遍歷,但是這會導致很多不必要的判斷,如下 coding utf 8 class treenode def init self,x self.val x self.left none self.right none class solution def isbalanced solu...
劍指offer Python 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。遞迴實現 class treenode def init self,x self.val x self.left none self.right none class solution de...