剑指offer面试题19----二叉树的镜像

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

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

思路:二叉树的镜像就是要对左右进行颠倒,简化为两个数据的镜像的话就是对这两个数据进行交换位置,交换位置的操作就是先定义一个temp变量,然后对其中的一个进行赋值,再用temp对另一个进行赋值。回到二叉树镜像这里,就是多了一个递归操作,我们对树的子树进行递归调用,其他逻辑保持不变

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):
            
            if not root:
                return None
            
            temp = root.left
            root.left = self.Mirror(root.right)
            root.right = self.Mirror(temp)
            
            return root
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容