【剑指offer】面试题 27:二叉树的镜像

来源:互联网 发布:淘宝网运营模式浅谈 编辑:程序博客网 时间:2024/06/05 08:42

题目描述

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

输入描述:

二叉树的镜像定义:源二叉树         8       /  \      6   10     / \  / \    5  7 9 11    镜像二叉树        8       /  \      10   6     / \  / \    11 9 7  5


时间限制:1秒 空间限制:32768K 热度指数:73052



思路

二叉树的镜像的过程:先遍历二叉树的所有节点,如果遍历到的节点有子节点,就交换它的子节点。

当交换完所有非叶结点的左、右子节点后,就得到了树的镜像。

这一过程存在一些一样的操作,所以可以用递归来实现。





参考代码

# -*- coding:utf-8 -*-# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    # 返回镜像树的根节点    def Mirror(self, root):        # write code here        if not root:            return None        if root.left:            root.left = self.Mirror(root.left)        if root.right:            root.right = self.Mirror(root.right)        root.left, root.right = root.right, root.left        return root




原创粉丝点击