操作給定的二叉樹,將其變換為源二叉樹的映象。
思路:
這道題用遞迴做最合適不過,其思路很簡單,既然是遞迴那函式的開始一定有跳出遞迴的條件,條件就是當遍歷到樹節點為空時,就跳出遞迴。剩下的就是交換根節點左右子節點了,在交換完畢之後要進入到子節點的子樹中對子樹再進行左右節點的交換,如此迴圈下去,**如下:
solution:
python
# -*- coding:utf-8 -*-
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class solution:
# 返回映象樹的根節點
def mirror(self, root):
# write code here
if root is none:
return root
root.left,root.right = root.right,root.left
self.mirror(root.left)
self.mirror(root.right)
劍指Offer 18 二叉樹的映象
請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象 先在樹中交換根節點的兩個子結點,之後需要交換著兩個結點的左右子結點。先前序遍歷這棵樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子結點。當交換完所有非葉子結點的左右子結點之後,就得到了樹的映象。coding utf 8 class tree...
劍指offer18 二叉樹的映象
操作給定的二叉樹,將其變換為源二叉樹的映象。二叉樹的映象定義 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 5二叉樹 遞迴python is none 和 none self引數 coding utf 8 class treenode def init self,...
劍指Offer 18 二叉樹的映象
題目描述 操作給定的二叉樹,將其變換為原二叉樹的映象。解題思路 求一棵樹的映象的過程 先前序遍歷這棵樹的每個結點,如果遍歷到的結點有子結點,就交換它的兩個子結點。當交換完所有的非葉結點的左 右子結點後,就可以得到該樹的映象。如下面的例子,先交換根節點的兩個子結點之後,我們注意到值為10 6的結點的子...