美文网首页Java0.面试技能算法
剑指offer面试题19----二叉树的镜像

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

作者: minningl | 来源:发表于2019-10-30 16:33 被阅读0次

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

    输入描述:
    二叉树的镜像定义:源二叉树
    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

    相关文章

      网友评论

        本文标题:剑指offer面试题19----二叉树的镜像

        本文链接:https://www.haomeiwen.com/subject/bdtavctx.html