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

二叉树(判断是否为对称二叉树)

题目(力扣):

观察题目,只需判断该二叉树是否对称。

判断二叉树是否对称,就可以换位去判断该二叉树的左子树和右子树是否对称。

这时就可以写一个辅助函数来方便判断。

该函数是判断两颗树是否镜像对称,这时就会发现,我们需要的这个函数和判断两棵树是否相等非常相似只需改变一些条件,(判断树是否相等是左节点的值等于另一棵树左节点的值,右节点的值等于另一棵树右节点的值而镜像则是相反,即左节点的值等于另一棵树右节点的值,右节点的值等于另一棵树左节点的值)

判断两树是否相等:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL)return true;else if (p == NULL || q == NULL)return false;else if (p->val != q->val)return false;elsereturn isSameTree(p->left, q->left)&& isSameTree(p->right, q->right);
}

而判断两树是否镜像对称:

只有这两处地方有改变。

其余地方一直相同。

剩余的isSymmetric函数中就是简单的判断了

完整代码:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL)return true;else if (p == NULL || q == NULL)return false;else if (p->val != q->val)return false;elsereturn isSameTree(p->left, q->right)&& isSameTree(p->right, q->left);
}
bool isSymmetric(struct TreeNode* root) {if(!root)return true;if((!root->left && root->right) || (!root->right && root->left))return false;else if(root->left && root->right)return isSameTree(root->left,root->right);elsereturn true;
}

题目的提交:

相关文章:

二叉树(判断是否为对称二叉树)

题目(力扣): 观察题目,只需判断该二叉树是否对称。 判断二叉树是否对称,就可以换位去判断该二叉树的左子树和右子树是否对称。 这时就可以写一个辅助函数来方便判断。 该函数是判断两颗树是否镜像对称,这…...

STM32开发学习(地址映射)

LED灯代码: #define PERIPH_BASE ((unsigned int)0x40000000)#define AHB1PERIPH_BASE (PERIPH_BASE 0x00020000)#define GPIOF_BASE (AHB1PERIPH_BASE 0x1400)#define GPIOF_MODER *(unsigned int*)(GPIOF_BASE0x00) #define GPIOF_BSRR *(uns…...

证明E(X+Y) =E(X) + E(Y)

E(XY) E(X) E(Y)的成立是不需要X和Y相互独立的!!! 离散型随机变量 E ( X Y ) ∑ i 1 n ∑ j 1 m ( x i y j ) P { X x i , Y y j } ∑ i 1 n ∑ j 1 m x i P { X x i , Y y j } ∑ i 1 n ∑ j 1 m y j P { X x i , Y y j …...

ClickHouse入门手册1.0

1、数据类型 1.1 整数类型: ClickHouse中整型数据均为固定长度(可以设置长度参数,但是会被忽略),整型包括有符号整型和无符号整型。 有符号整型:Int8,Int16,Int32,Int64,Int128,Int256 无符号整型:UInt8,UInt16,UI…...

10个火爆的设计素材网站推荐

所谓聪明的女人没有米饭很难做饭,设计师也是如此。如何找到优秀的设计材料是每个设计师的痛点,国内材料网站收费,但也限制使用范围和期限,大多数外国设计网站不能打开或需要特殊互联网使用,有一定的安全风险。 作为一…...

SQL注入 - CTF常见题型

文章目录 题型一 ( 字符型注入 )题型二 ( 整数型注入 )题型三 ( 信息收集SQL注入)题型四 ( 万能密码登录 )题型五 ( 搜索型注入文件读写 )题型六 &#xff08…...

android keylayout键值适配

1、通过getevent打印查看当前keyevent数字对应事件和物理码 2、dumpsys input 查看输入事件对应的 KeyLayoutFile: /system/usr/keylayout/Vendor_6080_Product_8060.kl 3、通过物理码修改键值映射,修改/system/usr/keylayout/目录下的文件...

python读取excel自动化生成sql建表语句和java实体类字段

1、首先准备一个excel文件: idtypenameidint学号namestring姓名ageint年龄sexstring性别weightdecimal(20,4)体重scoredecimal(20,4)分数 2、直接生成java字段和注释: import pandas as pddf pd.read_excel(test.xlsx, sheet_nameSheet1)for i in ran…...

Unity求向量A在平面L上的投影向量

如题&#xff1a;求向量A在平面L上的投影向量(图左) 即求 其实等价于求向量&#xff0c;那在中&#xff0c;,所以只需要求即可 而就是在平面L的法向量的投影坐标&#xff0c;所以代码就是 /// <summary>/// 求向量A在平面B上的投影向量/// </summary>/// <para…...

人机交互2——任务型多轮对话的控制和生成

1.自然语言理解模块 2.对话管理模块 3.自然语言生成模块...

【数据结构】八大排序 (三)

目录 前言&#xff1a; 快速排序 快速排序非递归实现 快速排序特性总结 归并排序 归并排序的代码实现 归并排序的特性总结 计数排序 计数排序的代码实现 计数排序的特性总结 前言&#xff1a; 前文快速排序采用了递归实现&#xff0c;而递归会开辟函数栈帧&#xff0…...

Redis 命令处理过程

我们知道 Redis 是一个基于内存的高性能键值数据库, 它支持多种数据结构, 提供了丰富的命令, 可以用来实现缓存、消息队列、分布式锁等功能。 而在享受 Redis 带来的种种好处时, 是否曾好奇过 Redis 是如何处理我们发往它的命令的呢&#xff1f; 本文将以伪代码的形式简单分析…...

python爬虫进阶教程之如何正确的使用cookie

文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Pytho…...

【hacker送书第4期】推荐4本Java必读书籍(各送一本)

第4期图书推荐 Java从入门到精通&#xff08;第7版&#xff09;内容简介参与方式 项目驱动零基础学Java内容简介参与方式 深入理解Java高并发编程内容简介参与方式 Java编程讲义内容简介参与方式 Java从入门到精通&#xff08;第7版&#xff09; 内容简介 《Java从入门到精通&…...

[密码学]DES

先声明两个基本概念 代换&#xff08;substitution&#xff09;,用别的元素代替当前元素。des的s-box遵循这一设计。 abc-->def 置换&#xff08;permutation&#xff09;&#xff0c;只改变元素的排列顺序。des的p-box遵循这一设计。 abc-->bac DES最核心的算法就是…...

15个超级实用的Python操作,肯定有你意想不到的!

文章目录 1&#xff09;映射代理&#xff08;不可变字典&#xff09;2&#xff09;dict 对于类和对象是不同的3) any() 和 all()4) divmod()5) 使用格式化字符串轻松检查变量6) 我们可以将浮点数转换为比率7) 用globals()和locals()显示现有的全局/本地变量8) import() 函数9) …...

GitHub上8个强烈推荐的 Python 项目

文章目录 前言1. Manim2. DeepFaceLab3. Airflow4. GPT-25. XSStrike6. 谷歌图片下载7. Gensim8. SocialMapper总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③…...

什么是依赖倒置原则

1、什么是依赖倒置原则 依赖倒置原则&#xff08;Dependency Inversion Principle&#xff0c;DIP&#xff09;是指高层模块不应该依赖于低层模块&#xff0c;它们都应该依赖于抽象。换句话说&#xff0c;具体类之间的依赖关系应该尽可能减少&#xff0c;而抽象类或接口之间的…...

异常数据检测 | Python实现oneclassSVM模型异常数据检测

支持向量机(SVM)的异常检测 SVM通常应用于监督式学习,但OneClassSVM[8]算法可用于将异常检测这样的无监督式学习,它学习一个用于异常检测的决策函数其主要功能将新数据分类为与训练集相似的正常值或不相似的异常值。 OneClassSVM OneClassSVM的思想来源于这篇论文[9],SVM使用…...

using meta-SQL 使用元SQL (3)

%FirstRows Syntax %FirstRows(n) Description The %FirstRows meta-SQL variable is replaced by database-specific SQL syntax to optimize retrieval of n rows. Depending on the database, this variable optimizes: FirstRows meta-SQL变量被特定于数据库的SQL语法…...

UE6.5调试性能对比实测:Clang 19 vs MSVC 17.12 vs GCC 14.2(C++27特性支持度+调试信息完整性双维度TOP1)

第一章&#xff1a;UE6.5 C27 调试能力演进与基准定位Unreal Engine 6.5 首次原生支持 C27 标准子集&#xff0c;并深度整合了 Clang 18 的调试元数据增强特性&#xff0c;显著提升了符号解析精度与运行时诊断能力。相比 UE5.4 中基于 DWARF-5 的有限 C20 支持&#xff0c;UE6.…...

3大突破!MusicFreePlugins:构建你的跨平台音乐自由王国

3大突破&#xff01;MusicFreePlugins&#xff1a;构建你的跨平台音乐自由王国 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 一、打破音乐壁垒&#xff1a;当代用户的三大核心痛点 在数字音乐时…...

在Jetson Nano/NX上跑通MediaPipe GPU版:一份避坑指南与性能实测

在Jetson Nano/NX上跑通MediaPipe GPU版&#xff1a;一份避坑指南与性能实测 当你在Jetson Nano上第一次尝试运行MediaPipe的人体姿态估计时&#xff0c;可能会遇到这样的场景&#xff1a;摄像头画面卡顿得像幻灯片&#xff0c;CPU占用率直接飙到100%&#xff0c;而强大的GPU却…...

便携式电源系统软件架构与功能解析

便携充电宝&#xff0c;电路原理图&#xff0c;PCB文件&#xff0c;程序源码&#xff0c;BOM详细设计说明文件。 用户按键控制便携式电源的工作模式&#xff08;放电&#xff0c;电池电 量显示&#xff0c;高亮LED开关及模式选择&#xff09;。 LED显示&#xff1a;电池电量&am…...

基于51单片机的智能鱼缸设计:STC12C5A60S2为核心的多功能控制系统

基于51单片机的智能鱼缸设计。 有原理图&#xff0c;程序&#xff0c;原文 才用STC12C5A60S2&#xff0c;最新款国产51单片机。 本系统设计的主要是基于单片机为核心&#xff0c;设计一款集温度检测、恒温控制、步进电机控制、继电器控制、矩阵键盘设计于一身的智能鱼缸控制系统…...

rabbitmq新手福音,快马ai生成带详解注释的入门代码,轻松理解消息队列

RabbitMQ新手入门&#xff1a;从零开始理解消息队列 最近在学习消息队列技术&#xff0c;发现RabbitMQ作为最流行的开源消息代理之一&#xff0c;对于新手来说概念确实有点抽象。不过通过InsCode(快马)平台的帮助&#xff0c;我很快就能上手实践了。下面分享我的学习过程&…...

多语言语音识别新选择:Fun-ASR-MLT-Nano模型部署与应用

多语言语音识别新选择&#xff1a;Fun-ASR-MLT-Nano模型部署与应用 1. 项目概述与技术亮点 1.1 多语言语音识别新标杆 Fun-ASR-MLT-Nano-2512是阿里通义实验室推出的轻量级多语言语音识别模型&#xff0c;凭借800M参数的紧凑架构&#xff0c;实现了对31种语言的高精度识别。…...

基于hadoop+spark+hive的高校科研项目管理系统的设计与实现

前言在高校科研项目管理领域&#xff0c;传统管理方式逐渐显露出诸多问题&#xff0c;亟待更为有效的解决方案。本研究聚焦于此&#xff0c;尝试借助 Python、Django、Vue 以及 MySQL 等技术&#xff0c;探索设计并实现一款高校科研项目管理系统。 研究过程中&#xff0c;运用文…...

如何快速上手openpilot:新手必看的5大实用技巧指南

如何快速上手openpilot&#xff1a;新手必看的5大实用技巧指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending/o…...

YOLOFuse效果惊艳:红外热成像+可见光,极端环境下的检测利器

YOLOFuse效果惊艳&#xff1a;红外热成像可见光&#xff0c;极端环境下的检测利器 1. 多模态检测的技术突破 在智能安防、自动驾驶和工业检测等关键领域&#xff0c;视觉系统常常面临极端环境的挑战&#xff1a;漆黑的夜晚、弥漫的烟雾、刺眼的强光...传统基于RGB图像的目标检…...