python代码实现二叉树的镜像树

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python代码实现二叉树的镜像树相关的知识,希望对你有一定的参考价值。

python代码实现二叉树的镜像树

请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像。

See the source image

可以总结出这两棵树的根节点相同,但它们的左、右两个子节点交换了位置。所以我们可以得出求一棵树的镜像的过程:先前序遍历这棵树的每个节点,如果遍历到的节点有子节点,就交换它的两个子节点。当交换完所有非叶节点的左、右子节点之后,就得到了树的镜像。

Step1.先序遍历原二叉树的每个节点,如果遍历到的结点有子结点,就交换它的两个子结点。

Step2.递归遍历每个节点的子节点,同样,如果遍历到的子节点有子节点,就交换它的两个子节点。

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

# 需要判断输入的结点为空或者输入的结点没有子树的情况。

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

# -*- 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 root &

以上是关于python代码实现二叉树的镜像树的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer 19:二叉树的镜像

数据结构树相关代码(数据结构笔试复测Leecode牛客)

python代码计算二叉树的深度

面试题:二叉树的镜像

数据结构 二叉树的简单理解和代码实现

Python数据结构系列☀️《树与二叉树-基础知识》——知识点讲解+代码实现☀️