力扣101. 对称二叉树(java)

在这里插入图片描述
思路:
一、验证 左右子树是否可翻转对称的?
二、分析左右子树情况:
1)左右都也空 对称
2)左右有一个为空 不对称
3)左右都不为空,但数字不同 不对称
4)左右都不为空,且数字相同 当前节点对称,继续往下层节点递归
三、递归用后续遍历,因为必须先知道子节点是否相同,然后才返回给上一层节点;左右中,先对比外侧节点,再对比内测节点,最后两侧都是true才可以。

class Solution {public boolean isSymmetric(TreeNode root) {//验证 左右子树是否可翻转对称的?boolean ans = func(root.left,root.right);return ans;}public boolean func(TreeNode leftNode, TreeNode rightNode) {if(leftNode == null && rightNode == null) { //1、左右都也空 对称return true;}if(leftNode == null && rightNode != null) { //2、左右有一个为空 不对称return false;}if(leftNode != null && rightNode == null){return false;}if (leftNode.val != rightNode.val){ //3、左右不为空,但数字不同 不对称return false;}//4、代码到这里,就是左右不为空,且数字相同,那就得递归下去//后续遍历 左右中boolean a = func(leftNode.left, rightNode.right);//左:对比外侧boolean b = func(leftNode.right, rightNode.left);//右,对比内侧return a && b; //中}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624114.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】带你完全理解指针(六)指针笔试题

目录 1. 2. 3. 4. 5. 6. 7. 8. 1. int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } 【答案】 2,5 【解析】 定义了一个指向整数的指针ptr,并将其初始化为&…

【JavaSE】你真的了解内部类吗?

前言 本篇会详细讲解内部类的四种形式,让你掌握内部类~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 内部类介绍 实例内部类 定义 调用 静态内部类 定义 调用 匿名内部类 定义和调用1 调用方法2 …

如何有效防范互联网域名诈骗?

互联网域名诈骗已成为网络安全的一大隐患。针对这一问题,保护个人和企业的网络安全至关重要。以下是几条谨防互联网域名诈骗的建议: 1.保持警惕:时刻保持对域名诈骗的警惕,警惕不明来历的域名交易或推广。 2.核实域名信息&#xf…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Check Box的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 按钮类控件Check Box的使用及说明 文章编号:…

大模型日报|今日必读的10篇大模型论文

大家好,今日必读的大模型论文来啦! 1.谷歌推出新型 Transformer 架构:反馈注意力就是工作记忆 虽然 Transformer 给深度学习带来了革命性的变化,但二次注意复杂性阻碍了其处理无限长输入的能力。 谷歌研究团队提出了一种新型 T…

「GO基础」目录

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

24华中杯马上就要开赛了!!!!!

需要资料整合的资料可以提前进群呢(238651270) “华中杯”大学生数学建模挑战赛章程 第一条 总则 “华中杯”大学生数学建模挑战赛(以下简称竞赛)是湖北省工业与应用数 学学会主办的面向全国大学生的群众性科技活动。“华中杯”定…

软考 - 系统架构设计师 - 嵌入式真题

问题 1: (1).HTML 静态化:可以实现对系统经常访问的页面进行静态化以提高系统访问的效率,但系统页面通常需要数据库中的用户信息和用户选择来动态显示,因此不适合采用。 HTML 静态化: 将动态生成…

浅谈Java JVM

Java虚拟机(Java Virtual Machine,简称JVM)是Java语言的核心组成部分,它是一个抽象的计算机,负责执行Java字节码指令。JVM是Java平台无关性的基石,它为Java代码提供了一个标准的运行环境,使Java…

分布式调度平台

应用场景 1.xxl-job介绍 xxl-job 是一个轻量级分布式任务调度框架,支持动态添加、修改、删除定时任务,支持海量任务分片执行,支持任务执行日志在线查看和分页查询,同时支持任务失败告警和重试机制,支持分布式部署和高…

48.HarmonyOS鸿蒙系统 App(ArkUI)常用组件的使用

48.HarmonyOS鸿蒙系统 App(ArkUI)常用组件的使用 按钮触发事件 toast信息提示 单选按钮 复选框 切换按钮,开关按钮 进度条 textbox,textinput,TextArea文本输入框 气泡提示 import prompt from ohos.prompt; import promptAction from ohos.promptAction; …

第1章:自动驾驶车辆“规划”与“控制”的通用架构

1.1 自动驾驶的分级 2014年美国汽车工程师学会 (SAE) 定义了6个无人驾驶等级,从0级(完全手动)到5级(完全自动),这些无人驾驶等级准则已经被美国交通部采纳;该标准也被称为SAE标准; …