leetcode:对称二叉树

news2024/9/24 13:21:25

题目描述

题目链接:101. 对称二叉树 - 力扣(LeetCode)

题目分析

题目中说至少存在一个节点,所以我们只需要对比左右子树

写一个子函数对比左右子树:用递归的思路,左子树的左子树和右子树的右子树对比,左子树的右子树和右子树的左子树对比,我们只需要考虑几种情况:

  1. 如果左右子树都为空,则返回true
  2. 如果左右子树只有一棵为空,则返回false
  3. 如果左右子树都不为空,且值不相等,则返回false
  4. 如果左右子树都不为空,且值相等,则递归调用函数,对比左子树的左子树和右子树的右子树&&左子树的右子树和右子树的左子树,如果都为真则返回true

代码示例

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool _isSymmetric(struct TreeNode*root1,struct TreeNode*root2)
{
    if(root1==NULL&&root2==NULL)
        return true;
    if(root1==NULL||root2==NULL)
        return false;
    if(root1->val!=root2->val)
        return false;
    return _isSymmetric(root1->left,root2->right)&&_isSymmetric(root1->right,root2->left);
}
bool isSymmetric(struct TreeNode* root) {
    return _isSymmetric(root->left,root->right);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285224.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果电脑录屏神器,让你的录制更加轻松

“苹果电脑可以录屏吗?老师布置了一份作业,需要用到视频作为材料,现在我找到素材了,但是不知道怎么录制下来,非常头疼,大家知道苹果电脑怎么使用录屏功能吗?” 苹果电脑一直以其出色的性能和简…

6.17验证二叉树(LC98-M)

算法: 中序遍历下,输出的二叉搜索树节点的数值是有序序列。 有了这个特性,验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。 具体地:中序遍历时,判断当前节点是否大于中序遍历的前一个节点&a…

IntelliJ IDEA 智能(AI)编码工具插件

文章目录 通义灵码-阿里CodeGeeX-清华大学智谱AIBitoAmazon CodeWhisperer-亚马逊GitHub Copilot - 买不起CodeiumAIXcoder 仅仅自动生成单元测试功能 TestMe插件(免费)仅仅是模板填充,不智能。 Squaretest插件(收费)…

奇客数据恢复评论:优点、缺点和个人的结论

小型、中型和大型公司以数字格式存储大量信息。数据范围包括患者或客户信息、工资数据、联系人列表、电子邮件通信、有关个人工作和项目的各种数据以及电子表格。丢失这些数据和文件对于任何公司来说都是灾难性的。恢复这些数据对于业务的正常功能来说非常重要。 由于存在许多…

任务管理器快捷键分享!这些知识很有用!

“我刚学习使用电脑没多久,想问问大家任务管理器这个功能有什么用处呀?在使用任务管理器时有什么快捷键能快速进入吗?感谢解答!” 在日常使用电脑的过程中,我们经常需要打开任务管理器来进行一些操作。而掌握任务管理器…

uniapp 之 短信验证码登录

一、需求 输入手机号码&#xff0c;可以获取验证码。 二、实现效果 点击前&#xff1a; 点击后&#xff1a; 三、代码实现 <template><view class"login"><view class"infobox"><view class"item"><input type…

CCleaner2024电脑中文最新免费版5.66

CCleaner是一款小型&#xff0c;快速&#xff0c;专业的系统清理和隐私保护工具。没有最低内存或硬盘驱动器要求。可使电脑启动速度最高提速53%&#xff0c;不包含任何广告软件。不仅可以清除系统中的垃圾文件和使用者的历史记录和Cookie&#xff0c;更能删除保留在计算机的Coo…

深入剖析Java Web开发中的过滤器、拦截器和AOP

文章目录 1. 过滤器&#xff08;Filter&#xff09;1.1 过滤器的概念1.2 过滤器的应用场景1.3 过滤器的示例代码 2. 拦截器&#xff08;Interceptor&#xff09;2.1 拦截器的概念2.2 拦截器的应用场景2.3 拦截器的示例代码 3. AOP&#xff08;面向切面编程&#xff09;3.1 AOP的…

element UI改写时间线组件为左右分布

2023.12.4今天我学习了如何使用element的时间线组件&#xff0c;效果如&#xff1a; 代码如下&#xff1a;&#xff08;关键代码 v-if"item.send_type"&#xff09;判断左右分布情况。因为如果没有这个判断的话&#xff0c;其实会两边都有显示。可以用一个判断表示0显…

SQL Sever 基础知识 - 数据筛选(2)

SQL Sever 基础知识 - 四、数据筛选 第3节 NULL3.1 NULL 和三值逻辑3.2 IS NULL / IS NOT NULL 第4节 AND4.1 AND 运算符简介4.2 AND 运算符示例4.2.1 一个 AND 运算符4.2.2 多个 AND 运算符4.2.3 将 AND 运算符与其他逻辑运算符一起使用 第5节 OR5.1 OR 运算符简介5.2 OR 运算…

RH850P1X芯片学习笔记-Overview

文章目录 Outline产品列表功能框图特点Pin和引脚功能CPU系统CPUFPU浮点运算单元中断处理保护机制指令缓存Local RAMGlobal RAM处理器间通信和相互排斥机制 操作模式中断功能DMA电源供电Reset控制单元时钟控制单元CSIH-SPIMCAN看门狗计时器系统计时器GTM通用定时器模块外设互联P…

vue3 vue-router过渡动效 滚动行为 (四)

文章目录 一、过渡动效1.1安装animate.css1.2 利用元信息存储过渡名称1.3 在组件中使用 二、滚动行为2.1 始终滚动到顶部2.2 相对于某个元素的偏移量2.3 保持之前的滚动位置 一、过渡动效 1.1安装animate.css npm install animate.css --save1.2 利用元信息存储过渡名称 {pa…

【Element】el-table组件使用summary-method属性设置表格底部固定两行并动态赋值

一、背景 需求&#xff1a;在表格账单中底部添加两行固定行&#xff0c;来统计当前页小计和总计。element ui 官网上是直接将本列所有数值进行求合操作的&#xff0c;且只有固定一行总计。目前的需求是将接口返回的数据填充到底部固定的两行中 二、底部添加两行固定行 2.1、…

一元月老盲盒交友小程序源码系统 源码全部开源可二次开发 附带完整的搭建教程

传统的交友平台存在很多问题&#xff0c;如信息不透明、虚假信息等。这些问题不仅影响了用户的交友体验&#xff0c;也损害了交友平台的信誉。为了解决这些问题&#xff0c;罗峰给大家介绍一款一元月老盲盒交友小程序源码系统。该系统结合了盲盒和交友两个元素&#xff0c;通过…

赛事回顾 | 首届“智航杯“全国无人机智能算法竞赛落幕

11月28日&#xff0c;首届“智航杯”全国无人机智能算法竞赛实物赛在海南省三亚市成功落下帷幕。此次竞赛自2023年4月启动以来&#xff0c;共有来自全国145所高等院校和50多所企事业单位的1253支团队、3655人报名参赛&#xff0c;最终有6支队伍脱颖而出&#xff0c;入围了实物赛…

IPD|企业产品研发的致胜法宝——TR技术评审

前言 企业产品研发过程中&#xff0c;我们总能听到类似这样一些声音&#xff1a; 技术评审效率太低&#xff0c;一开就是半天&#xff0c;也没啥结果&#xff1b; 团队里都是技术骨干&#xff0c;不用评审了&#xff1b; 已有决策评审了&#xff0c;技术评审就是浪费时间&a…

如何将四元数转换为旋转矩阵

什么是四元数&#xff1f; 四元数是表示物体在三维空间中的方向和旋转的几种数学方法之一。另一种方法是使用基于欧拉角的旋转矩阵&#xff0c;即滚动、俯仰和偏航&#xff0c;就像的封面图片。 通常使用四元数代替欧拉角旋转矩阵&#xff0c;因为“与 旋转矩阵相比 &#xff…

备考软件测试

单元测试 语句覆盖所有条件执行一次 判定覆盖所有条件错一次对一次 条件覆盖小条件对错各一次 判断条件覆盖每个小条件对错各一次的基础上再加上两个大条件对错各一次 多条件覆盖(组合覆盖) 每个小条件对应另一个小条件要对一次错一次比如:A<5对一次要对应B5对一次错一次…

FileUtil工具类

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 …

8.7 矢量图层点要素点分布(Point displacement)使用

文章目录 前言点分布&#xff08;Point displacement&#xff09;QGis代码实现 总结 前言 前面介绍了矢量-点要素-单一符号、矢量-点要素-分类符号、矢量-点要素-分级符号以及矢量-点要素-基于规则的使用本章介绍如何使用点分布&#xff08;Point displacement&#xff09;说明…