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

【LeetCode热题100】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

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

四.解题思路

递归或者迭代,递归没写出来qaq

五.代码实现

迭代

class Solution {
public:bool isSymmetric(TreeNode* root) {if(!root) return false;int remained;queue<TreeNode*> q;vector<int> val;q.push(root);while(!q.empty()){remained = q.size();while(remained > 0){TreeNode* tmp = q.front();q.pop();remained--;if(tmp->left != nullptr) {q.push(tmp->left);val.push_back(tmp->left->val);}else {val.push_back(999);               }if(tmp->right) {q.push(tmp->right);val.push_back(tmp->right->val);}else {val.push_back(999);               }}auto t = val;reverse(val.begin(),val.end());         if(val != t) return false;vector<int>().swap(val);}return true;}
};

递归

class Solution {
public:bool check(TreeNode *p, TreeNode *q) {if (!p && !q) return true;if (!p || !q) return false;return p->val == q->val && check(p->left, q->right) && check(p->right, q->left);}bool isSymmetric(TreeNode* root) {return check(root, root);}
};

六.题目总结

递归的子问题没拆出来

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

相关文章:

  • VLC抓取m3u8视频
  • 聊聊Python都能做些什么
  • JavaWeb06-MVC和三层架构
  • MySQL数据库实现增删改查基础操作
  • PCM和I2S区别
  • 大模型笔记:吴恩达 ChatGPT Prompt Engineering for Developers(1) prompt的基本原则和策略
  • 设计模式 — — 单例模式
  • C++:菱形继承与虚继承
  • 贡献法:USACO 2021 December Contest Bronze:孤独的照片
  • Java实现简单的通讯录
  • 服务器数据恢复—raid5热备盘上线同步数据失败的如何恢复数据
  • 探索C语言中的循环结构
  • 数学建模-估计出租车的总数
  • 设计模式在芯片验证中的应用——装饰器
  • Python 查找并高亮PDF中的指定文本
  • LEETCODE LCS 03. 主题空间
  • 【Spring Boot 源码学习】深入应用上下文初始化器实现
  • 【Docker】一文趣谈Docker
  • 代码随想录day19(2)二叉树:二叉树的最大深度(leetcode104)
  • Lua中文语言编程源码-第五节,更改lcorolib.c协程库函数, 使Lua加载中文库关键词(与所有的基础库相关)
  • Docker学习之数据管理(超详解析)
  • FDTD液晶折射率各项异性表示方法
  • RoketMQ主从搭建
  • Linux网络瑞士军刀 nc(netcat)
  • 1.Spring入门
  • 【JavaEE Spring 项目】消息队列的设计
  • SpringFramework学习笔记(Spring IoC,aop,tx)
  • 口腔管理平台 |基于springboot框架+ Mysql+Java+B/S结构的口腔管理平台 设计与实现(可运行源码+数据库+lw文档)
  • 【设计模式】Java 设计模式之工厂模式(Factory Pattern)
  • 安卓UI面试题 36-40