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

算法:101. 对称二叉树

对称二叉树

给你一个二叉树的根节点 root , 检查它是否轴对称。

示例 1:

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

输入:root = [1,2,2,null,3,null,3]
输出:false

提示:

  • 树中节点数目在范围 [1, 1000] 内
  • -100 <= Node.val <= 100

进阶:你可以运用递归和迭代两种方法解决这个问题吗?

方法一:递归
class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode p, TreeNode q) {if (p == null && q == null) {return true;}if (p == null || q == null) {return false;}return p.val == q.val && check(p.left, q.right) && check(p.right, q.left);}
}
方法二:迭代
class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {Queue<TreeNode> q = new LinkedList<TreeNode>();q.offer(u);q.offer(v);while (!q.isEmpty()) {u = q.poll();v = q.poll();if (u == null && v == null) {continue;}if ((u == null || v == null) || (u.val != v.val)) {return false;}q.offer(u.left);q.offer(v.right);q.offer(u.right);q.offer(v.left);}return true;}
}

http://www.lryc.cn/news/368783.html

相关文章:

  • wordpress 使用api发布文章
  • 《Brave New Words 》2.2 阅读理解的未来,让文字生动起来!
  • 基于Java的超市进销存管理系统
  • Oracle 日志挖掘
  • 翻转二叉树-力扣
  • 办公风云颜值背后的职场正能量
  • ffmpeg将一个视频中的音频合并到另一个视频
  • Web前端管理系统项目:深度解析与实现之道
  • C语言最终讲:预处理详解
  • Mysql的底层实现逻辑
  • Node安装配置
  • Django里的ModelForm组件
  • 深入理解C语言:main函数的奥秘
  • selenium自动化测试入门 —— Alert/Confirm/Prompt 弹出窗口处理!
  • 探索JavaScript 18:新特性全解析
  • Python第二语言(七、Python模块)
  • 介绍单例模式
  • 【C++修行之道】类和对象(五)日期类的实现、const成员、取地址及const和取地址操作符重载
  • 来腾讯第4天,我已经焦虑昏了啊!
  • MacOS升级ruby版本
  • 【MySQL数据库基础】
  • QT系列教程(9) 主窗口学习
  • 【C++进阶】深入STL之 栈与队列:数据结构探索之旅
  • SpringBoot发邮件服务如何配置?怎么使用?
  • AutoCAD Mechanical机械版专业的计算机辅助设计软件安装包下载安装!
  • json.load报错AttributeError: ‘str‘ object has no attribute ‘load‘
  • 单词记忆(第二周)
  • RAG:如何从0到1搭建一个RAG应用
  • leetcode:67二进制求和
  • 大模型日报2024-06-10