剑指Offer-Python-牛客网

面试题27:二叉树的镜像

2019-01-07  本文已影响0人  凌霄文强

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

二叉树的镜像定义:

源二叉树 
            8
           /  \
          6   10
         / \  / \
        5  7 9 11
镜像二叉树
            8
           /  \
          10   6
         / \  / \
        11 9 7  5
知识点

二叉树


Qiang的思路

这道题还是非常简单的。

一个二叉树的镜像二叉树和原来的二叉树的左右对称的,也是说二叉树的左子树就是镜像二叉树的左子树,对于每一个节点这个结论都是成立的,那么我们只需要将每一个节点的左右子树互换,这样就能得到一个二叉树的镜像二叉树了。

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

作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com
个人网站:https://www.myqiang.top

上一篇下一篇

猜你喜欢

热点阅读