当前位置: 首页 > news >正文

【LeetCode算法】第101题:对称二叉树

目录

一、题目描述

二、初次解答

三、官方解法

四、总结


一、题目描述

二、初次解答

1. 思路:递归判定左子树和右子树是否对称。用一个新函数sym来递归判定左子树和右子树是否对称。该函数细节:判定当前传入的两个根节点是否为空,若均为空则返回true,若只有其中一个为空则返回false,若两个根节点的值不同则返回false,否则递归判断根节点1的左子树与根节点2的右子树是否相同并判断根节点1的右子树与根节点2的左子树是否相同。

2. 代码:

bool sym(struct TreeNode* root1, struct TreeNode* root2){if(!root1 && !root2)return true;if(!root1 || !root2)return false;if(root1->val != root2->val)return false;return sym(root1->left, root2->right) && sym(root1->right, root2->left);
}bool isSymmetric(struct TreeNode* root) {return sym(root->left, root->right);
}

3. 优点:仅遍历一遍,时间复杂度为O(n)。

4. 缺点:采用了递归,空间复杂度为O(n)。

三、官方解法

官方解法一与上述方法相同。官方解法二采用迭代方式但需要手动维护队列空间,时间复杂度与空间复杂度与解法一相同,但是代码量更大,因此此处不展开说明。

四、总结

判定二叉树左右子树是否对称,可以递归判定根节点的左子树和右子树是否对称。

相关文章:

  • 【wiki知识库】02.wiki知识库SpringBoot后端的准备
  • Nacos-SpringBoot-配置中心
  • 《QT实用小工具·六十九》基于QT开发的五子棋AI游戏
  • MySQL统计字符长度:CHAR_LENGTH(str)
  • 数据结构的快速排序(c语言版)
  • 区块链会议投稿资讯CCF A--USENIX Security 2025 截止9.4、1.22 附录用率
  • 失之毫厘差之千里之load和loads
  • BetterZip — 满足你工作中的解压缩需求
  • java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader
  • jmeter基础入门练习题
  • 【银河麒麟V10服务器OS-系统根分区扩容】指导教程手册
  • 整数乘除法练习题
  • 为何懂行的人都在选海信Mini LED?
  • 【高校科研前沿】南大王栋、吴吉春教授团队在深度学习助力水库生态调度和优化管理方面取得新进展,成果以博士生邱如健为一作发表于水环境领域国际权威期刊
  • 未来已来, AI将作为超级工具?
  • $translatePartialLoader加载失败及解决方式
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • ECMAScript入门(七)--Module语法
  • ES6简单总结(搭配简单的讲解和小案例)
  • gops —— Go 程序诊断分析工具
  • HashMap ConcurrentHashMap
  • Hexo+码云+git快速搭建免费的静态Blog
  • IDEA 插件开发入门教程
  • JavaScript 基本功--面试宝典
  • Java读取Properties文件的六种方法
  • Markdown 语法简单说明
  • MobX
  • PHP 7 修改了什么呢 -- 2
  • spring boot下thymeleaf全局静态变量配置
  • 爱情 北京女病人
  • 成为一名优秀的Developer的书单
  • 免费小说阅读小程序
  • 强力优化Rancher k8s中国区的使用体验
  • 使用docker-compose进行多节点部署
  • 使用Gradle第一次构建Java程序
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 详解移动APP与web APP的区别
  • 译米田引理
  • Android开发者必备:推荐一款助力开发的开源APP
  • Python 之网络式编程
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​马来语翻译中文去哪比较好?
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • #DBA杂记1
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (二)Optional
  • (十)T检验-第一部分
  • (四)c52学习之旅-流水LED灯
  • (算法设计与分析)第一章算法概述-习题
  • .gitignore文件忽略的内容不生效问题解决
  • .NET Core中如何集成RabbitMQ
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性