leetcode hot100刷题日记——27.对称二叉树

article/2025/8/20 14:49:05

在这里插入图片描述

方法一:递归法

class Solution {
public:bool check(TreeNode *left,TreeNode *right){//左子树和右子树的节点同时是空的是对称的if(left==nullptr&&right==nullptr){return true;}if(left==nullptr||right==nullptr){return false;}//检查左右子树的值相不相等,再检查左子树的左节点是不是和右子树的右节点相同,左子树的右节点是不是和右子树的左节点相同return left->val==right->val&&check(left->left,right->right)&&check(left->right,right->left);}bool isSymmetric(TreeNode* root) {return check(root->left,root->right);}
};

时间复杂度:O(n)
空间复杂度:O(n)

方法二:迭代法,用队列

class Solution {
public:bool check(TreeNode *u,TreeNode *v){queue<TreeNode*>q;q.push(u);q.push(v);while(!q.empty()){u=q.front();q.pop();v=q.front();q.pop();if(!u&&!v) continue;if((!u||!v)||(u->val!=v->val)) return false;q.push(u->left);q.push(v->right);q.push(u->right);q.push(v->left);}return true;}bool isSymmetric(TreeNode* root) {return check(root,root);}
};

时间复杂度:O(n)
空间复杂度:O(n)


http://www.hkcw.cn/article/BHKIsHVmkK.shtml

相关文章

接口自动化测试(六)

一、pytest参数化 pytest&#xff1a; pytest.mark.parametrize(argnames,argvalues) 参数化DDT:把对应的数据去进行提取出来进行统一维护 ---- 多组数据pytest.mark.parametrize(argnames,argvalues) pytest.mark.parametrize("参数名",参数数据) 参数数据格式&…

LangChain【1】之认识框架和简单体验

文章目录 参考文章LangChain框架概述LangChain分层结构LangChain环境配置简单案例体验方式1&#xff1a;Api key单独文件配置方法2&#xff1a;直接设置Api KeyLangSmith的添加和使用 参考文章 通过类比, 十分钟快速掌握LangChain的架构LangChain入门教程&#xff0c;基本案例…

ESP8266-12S配置信息保存到文件SPIFFS示例

一、前言 利用SPIFFS保存参数&#xff08;加载&#xff0c;读取&#xff0c;修改&#xff09; vscodePlatformIO 二、代码片段 头文件引用 定义结构体 读取、保存、修改配置文件 初始化setup()&#xff0c;利用配置文件中的账号密码连接WIFI 循环体loop()&#xff0c;读取串口…

90后作家刘楚昕获奖后追忆病故女友 未竟的承诺

近日,90后作家刘楚昕的小说《泥潭》荣获第二届漓江文学奖虚构类奖。颁奖现场上,作家余华公布了这个好消息。而获奖者刘楚昕的感言因格外催泪动人在朋友圈里刷了屏。2017年,刘楚昕在武汉大学读博期间遇到了他的初恋女友。当时,他正朝着自己的文学梦马不停蹄地赶路。“每次我…

WPS 免登录解锁编辑

遇到 WPS 需要登录才能启用编辑功能&#xff1f; 如何免登录使用编辑功能&#xff1f; 方法一 解锁方法 1、关闭 WPS&#xff1b; 2、桌面右键→ “新建”→“文本文档”&#xff0c;粘贴以下内容&#xff08;见最下面&#xff09;&#xff1b;编码保持默认&#xff08;ANSI …

破局传统采购!采购文件编制审核系统为烟草行业数智化加速

在烟草行业错综复杂的商业生态系统中&#xff0c;采购环节扮演着至关重要的战略枢纽角色。它如同驱动精密机械运转的核心齿轮&#xff0c;其每一次高效的“啮合”都深刻影响着整条价值链的协同运作。卓越的采购效能不仅是提升企业整体运营效率的基石&#xff0c;更是实现精细化…

65常用控件_QListWidget的使用

目录 代码示例:使用ListWidget List Widget 使⽤ QListWidget 能够显⽰⼀个纵向的列表. 形如: 每个选项都可以被选中. 列表中的每个元素/每一项就称为是一个Item 更具体的说&#xff0c;通过QListWidgetItem类表示的~~ 核⼼属性 属性说明currentRow当前被选中的是第几行cou…

c++数据结构8——二叉树的性质

一、二叉树的基本性质 示图1&#xff1a; 性质1&#xff1a;层节点数上限 在一棵二叉树中&#xff0c;第i层至多有2^{i-1}个节点&#xff08;首层是第1层&#xff09; 这个性质可以通过数学归纳法证明&#xff1a; 第1层&#xff1a;2^{1-1}2^01个节点&#xff08;根节点&am…

搭建frp内网穿透

前言 内网穿透的原理我就不多说了哈&#xff0c;既然会看到我这篇文章&#xff0c;想必都知道内网穿透是做什么的吧 frp分为服务端和客户端&#xff0c;服务端一般是搭在公网服务器中&#xff0c;客户端一般搭在本地或者局域网&#xff0c;需要提前在服务端搭好ftp server&am…

阿里云服务器ECS详细购买流程【新手购买手册】

1、打开云服务器ECS官方页面 打开阿里云服务器ECS页面 点击进入阿里云服务器 2、付费类型选择 阿里云服务器付费类型 3、地域节点 阿里云服务器全球28个地域&#xff0c;中国大陆地域如华北2&#xff08;北京&#xff09;、华东1&#xff08;杭州&#xff09;、华南1&#x…

广东虎门通报小车坠桥5人死亡 事故引发广泛关注

广东虎门通报小车坠桥5人死亡 事故引发广泛关注。近日,广东东莞环莞快速路虎门段发生了一起交通事故,引起了广泛关注。5月29日晚,虎门镇“519”事故工作专班发布了情况通报。广东虎门通报小车坠桥5人死亡 事故引发广泛关注。责任编辑:0882

SpringBoot:统一功能处理、拦截器、适配器模式

文章目录 拦截器什么是拦截器&#xff1f;为什么要使用拦截器&#xff1f;拦截器的使用拦截路径执行流程典型应用场景DispatcherServlet源码分析 适配器模式适配器模式定义适配器模式角色适配器模式的实现适配器模式应用场景 统⼀数据返回格式优点 统一处理异常总结 拦截器 什…

Spring Boot 3.5.0中文文档上线

Spring Boot 3.5.0 中文文档翻译完成&#xff0c;需要的可收藏 传送门&#xff1a;Spring Boot 3.5.0 中文文档

67常用控件_QTreeWidget的使用

目录 代码⽰例: 使⽤ QTreeWidget 使⽤ QTreeWidget 表⽰⼀个树形控件. ⾥⾯的每个元素, 都是⼀个 QTreeWidgetItem , 每个 QTreeWidgetItem 可以包含多个⽂本和图标, 每个⽂本/图标为⼀个 列. 可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个), 然后再给顶层节点…

气象大模型如何影响端午节旅行?精准预报助力安全出行

端午节假期(5月31日至6月2日)即将到来,全国天气形势复杂多样,北方晴热多风,南方暴雨频繁,华南则面临高温闷热。在这一背景下,气象大模型(如中央气象台的“疾风模型”等)凭借其强大的数据分析和预测能力,为公众出行提供了更精准的天气参考,直接影响着旅行决策和安全保…

德约连续20年晋级法网32强 连胜纪录延续

北京时间5月30日,在2025年法国网球公开赛男单第二轮比赛中,6号种子德约科维奇以6-3、6-2、7-6(1)战胜本土选手穆泰,成功晋级32强。比赛持续了3小时5分钟,第三盘中德约科维奇一度因左脚不适申请医疗暂停,该盘耗时超过80分钟。这场胜利使德约科维奇在罗兰加洛斯的连胜纪录达…

马图伊迪希望大巴黎欧冠夺冠 加油巴黎!

巴黎圣日耳曼旧将马图伊迪在社交媒体上表达了对母队夺得欧冠冠军的期待。北京时间6月1日凌晨3点,巴黎圣日耳曼将与国际米兰争夺本赛季的欧冠冠军。马图伊迪表示,本周六巴黎圣日耳曼带着历史使命踏上赛场,相信整个法国都会支持球队,因为他们有机会成就一些特别的事情。他提到…

茅台铁粉基金经理转战泡泡玛特!

茅台铁粉基金经理转战泡泡玛特。随着在港交所挂牌的泡泡玛特凭借爆款IP上演“股价超十倍神话”,不少曾经重仓持有贵州茅台的“铁粉”基金经理,相继“转战”泡泡玛特。与此同时,众多基金经理开始迫切寻找能复制泡泡玛特神话的新消费标的。市场没有让人失望。近期,A股、港股市…

曝利雅得胜利欲引进迪亚斯 利物浦边锋成头号目标

利雅得胜利将利物浦边锋路易斯-迪亚斯视为今夏引援头号目标。利物浦方面已经了解到对方的兴趣,而迪亚斯本人则希望与红军续约。2022年1月,利物浦以3750万镑转会费从波尔图引进了迪亚斯,并与其签约六年。由于在2024-25赛季表现出色,迪亚斯吸引了多家俱乐部的关注。这位28岁的…

electron安装报错处理

electron安装报错 解决方法&#xff1a; 修改 C:\Users\用户名.npmrc下配置文件 添加代码 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/最后代码 registryhtt…