树 -28.对称二叉树_不会街健的bboy不是一个好程序员的博客-程序员宅基地

技术标签: 《剑指Offer》-Java实现  

在这里插入图片描述
思路:我们可以思考一下如果一个二叉树是镜像的,那么根节点的左右孩子是相等的,并且第一层一直到叶子节点,左子树上的左节点和右子树上的有节点相同。

在这里插入图片描述
我们思考一下遍历的方式,如果我们对左子树进行前序遍历的方式,也就是根,左子树,右子树,这样的方式遍历,对应右子树是什么样的呢?
右子树对应的是根,右子树,左子树。
所以我们就对左右子树进行不同的遍历方式一起遍历,如果一直到叶子节点都全部相同,那么这个树就是对称二叉树了

   boolean isSymmetrical(TreeNode pRoot)
    {
    	//当前没有节点。。。也应该算对称。。。
        if(pRoot == null) return true;
        return  Sysmmetrical(pRoot.left,pRoot.right);
    }
    private boolean Sysmmetrical(TreeNode leftnode,TreeNode rigthnode){
    
        if((leftnode == null && rigthnode != null) || (leftnode!=null && rigthnode==null)) return false;
        //情况1:两个节点全部为null,算相等
        //情况2:一个为null,一个不为null,不是对称的。
        if(leftnode == null && rigthnode == null){
    
            return true;
        }
        //左子树:根,左子树,右子树
        //右子树:根,右子树,左子树
        if(leftnode.val == rigthnode.val){
    
            return Sysmmetrical(leftnode.left,rigthnode.right) && Sysmmetrical(leftnode.right,rigthnode.left); 
        }else return false;
        
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44916741/article/details/104242767

智能推荐

win7 检查计算机更新,Win7下Windows Update检查更新总提示80244019错误怎么办_weixin_39989980的博客-程序员宅基地

windows update是现在大多数Windows操作系统都带有的一种自动检查更新工具,用来及时更新补丁和修复漏洞等,可以是我们的电脑体验更好更安全,不过最近有windows7系统用户反映说在Windows Update检查更新的时候,无法搜索到可用的更新,而在检查更新的时候还总是提示80244019错误,这让很多用户不知所措,这是怎么回事呢?下面随win7之家小编一起来看看是如何解决的吧!原...

sci计算机二作,SCI论文二作对研究生有用吗_weixin_39867893的博客-程序员宅基地

SCI论文二作对研究生有用吗发布时间:2019-09-17 15:37所属分类:期刊常识sci论文可以由多个作者共同完成,其中一作一般是对论文贡献比较大的,二作相对来说要小一些,那么对于研究生毕业论文来说, SCI论文二作对研究生有sci论文可以由多个作者共同完成,其中一作一般是对论文贡献比较大的,二作相对来说要小一些,那么对于研究生毕业论文来说,SCI论文二作对研究生有用吗?研究生毕业论文对作者...

freetextbox常用ToolbarLayout按钮功能(3.1.6)_weixin_33670786的博客-程序员宅基地

<FTB:FreeTextBox ID="info" ToolbarStyleConfiguration ="OfficeMac" ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorsMenu,FontBackColorsMenu,SymbolsMenu|Bold,Italic,Underline,St...

SSR 它到底香不香?细数 SSR 的利与弊_前端向后的博客-程序员宅基地

关注「前端向后」微信公众号,你将收获一系列「用心原创」的高质量技术文章,主题包括但不限于前端、Node.js以及服务端技术一.SSR 简介SSR(Server-Side Renderin...

jsp指令_qq_27449993的博客-程序员宅基地

有三个:page、写法<%@指令名字%>pagelanguage表明jsp页面中可以写java代码contentType:其实即使说这个文件是什么类型,告诉浏览器我是什么内容类型,以及使用什么编码pageEncoding :jsp内容编码session:值可选的有true or false 。true:那么在代码里面会有getSession()的调用,如果是...

三年级如何写作文_iteye_18937的博客-程序员宅基地

三年级如何写作文 2011年10月27日   三年级如何写作文  小学生一进入三年级,就普遍感觉到写作文的困难,主要是因为学生从写话到写段,字数有所增加,还有从单纯的写话到一定的描写 ,语言上也有所提高。那么一涉及到学生作文教学,很多老师都普遍感到:新教材的作文难教 !对于我来说,今年接手三年级家教,对作文教学也是无从下手!针对这个问题,我请教许多优秀学姐学长,结合实际教学慢慢摸索,我沉下心来...

随便推点

asp.net 打印控件使用方法_weixin_34064653的博客-程序员宅基地

打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是 可以的了。代码如下所示: 代码   复制代码 代码如下://调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能。(直接用系统提供的print()方法打印无法隐藏某些区域) //preview:是否显示预览。null/false:不显示,true:显示 function printP...

C语言开发数字华容道实现,jQuery实现数字华容道小游戏(实例代码)_橘子说柠檬你好甜的博客-程序员宅基地

数字华容道*{padding: 0px;margin: 0px;}#btns>button{width: 100px;height: 30px;border: none;background:#0082df;color:white;}#content{text-align: center;margin: 0 auto;}#grid{border: 1px solid #0082df;widt...

CentOS 7.0系统安装配置图文教程_荷塘月色凉的博客-程序员宅基地

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于Ce

Python-Flask框架(六),如果在生产环境里Debug和SSTI偷偷幽会会发生什么?_99Kies的博客-程序员宅基地

Python-Flask框架,如果在生产环境里Debug=True和SSTI在偷偷幽会会发生什么?前言前言项目Demo

Vulkan着色器介绍(1)_weixin_38498942的博客-程序员宅基地_vulkan着色器语言

一、简介与之前的图像API不同,Vulkan中的着色器代码必须以二进制字节码的格式使用,而不是像GLSL和HLSL这样具有比较好的可读性的语法。此字节格式称为SPIR-V,它可以与Vulkan和OpenCL一同使用,这是一种可以编写图形和计算着色器的格式。二、Vulkan着色器使用二进制字节码格式的优点之一是使得GPU厂商编写将着色器代码转换为本地代码的编译器复杂度减少了很多。同时Khron...

消息队列概念和使用场景_善亦有道的博客-程序员宅基地

转载:MQ入门总结(一)消息队列概念和使用场景消息即是信息的载体。为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析消息),它们就需要按照一种统一的格式描述消息,这种统一的格式称之为消息协议。所以,有效的消息一定具有某一种格式;而没有格式的消息是没有意义的。而消息从发送者到接收者的方式也有两种。一种我们可以称为即时消息通讯,也就是...