1. 程式人生 > >【劍指Offer】19二叉樹的映象

【劍指Offer】19二叉樹的映象

題目描述

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

時間限制:1秒;空間限制:32768K

輸入描述:

二叉樹的映象定義:源二叉樹 
    	    8
    	   /  \
    	  6   10
    	 / \  / \
    	5  7 9 11
    	映象二叉樹
    	    8
    	   /  \
    	  10   6
    	 / \  / \
    	11 9 7  5

解題思路

交換當前節點的左右子節點,遞迴。

# -*- 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 == None: #空樹
            return root
        k = root.left
        root.left = root.right
        root.right = k
        self.Mirror(root.left)
        self.Mirror(root.right)
        return root