博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的镜像实现(python版)
阅读量:3963 次
发布时间:2019-05-24

本文共 626 字,大约阅读时间需要 2 分钟。

题目:

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

二叉树的镜像定义:源二叉树

8	   /  \	  6   10	 / \  / \	5  7 9 11		镜像二叉树	    8	   /  \	  10   6	 / \  / \	11 9 7  5

代码:

#定义数节点结构class TreeNode:     def __init__(self, x):       self.val = x        self.left = None        self.right = Noneclass Solution:    # 返回镜像树的根节点    def Mirror(self, root):        if root == None:            return None         #互换左右孩子的值        root.right,root.left=root.left,root.right        #递归处理左子树        self.Mirror(root.right)        #递归处理右子树        self.Mirror(root.left)

分析:

对于镜像的定义以及图解我们可以很清楚的明白,就是调换左右孩子的值。

那么第一步先判断根节点是否为空,然后进行调换根节点的左右孩子的值,然后进行递归处理左右子树。当处理的节点为空以后就不在进行处理,退出递归操作。

转载地址:http://trgzi.baihongyu.com/

你可能感兴趣的文章
Windows10远程报错CredSSP加密oracle修正
查看>>
Windows server 2016 设置多用户登陆
查看>>
偶然发现的面包屑
查看>>
CentOS 7 下挂载NTFS文件系统磁盘并设置开机自动挂载
查看>>
非插件实现Typecho语法高亮
查看>>
windows 下 netsh 实现 端口映射(端口转发)
查看>>
两个好用的命令行工具 watch 和 rsync
查看>>
信安入门神级书单
查看>>
【IPFS指南】IPFS的竞争对手们(一)
查看>>
docker更换国内镜像
查看>>
CentOS 下 tree命令用法详解
查看>>
docker上传镜像至Registry时https报错解决方法
查看>>
docker下删除none的images
查看>>
Linux提权获取敏感信息方法
查看>>
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>
Ubuntu 更换国内源
查看>>
Ubuntu16.04下Docker pull connection refused 解决办法
查看>>
postgres基本操作(个人总结版)
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>