leetcode 101. Symmetric Tree 对称二叉树(简单)

一、题目大意

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

示例 1:

leetcode 101. Symmetric Tree 对称二叉树(简单)

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

示例 2:

leetcode 101. Symmetric Tree 对称二叉树(简单)

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

提示:

  • 树中节点数目在范围 [1, 1000] 内
  • -100

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

来源:力扣(LeetCode
链接:https://leetcode.cn/problems/symmetric-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

二、解题思路

判断一个树是否对称等价于判断左右子树是否对称。分四步:(1)如果两个子树都为空指针,则它们相等或对称(2) 如果两个子树只有一个为空指针,则它们不相等或不对称(3)如果两个子树根节点的值不相等, 则它们不相等或不对称(4)根据相等或对称要求,进行递归处理。

三、解题方法

3.1 Java实现

public class Solution {

    public boolean isSymmetric(TreeNode root) {
        if (root == null) {
            return true;
        }
        return isMirror(root.left, root.right);
    }

    public boolean isMirror(TreeNode left, TreeNode right) {
        // (1)如果两个子树都为空指针,则它们相等或对称
        if (left == null && right == null) {
            return true;
        }
        // (2) 如果两个子树只有一个为空指针,则它们不相等或不对称
        if (left == null && right != null) {
            return false;
        }
        if (left != null && right == null) {
            return false;
        }
        // (3)如果两个子树根节点的值不相等, 则它们不相等或不对称
        if (left != null && right != null && left.val != right.val) {
            return false;
        }
        // (4)根据相等或对称要求,进行递归处理。
        return isMirror(left.left, right.right) && isMirror(left.right, right.left);
    }
}

四、总结小记

  • 2022/9/7 做管理给待遇一定要由远及近

Original: https://www.cnblogs.com/okokabcd/p/16665047.html
Author: okokabcd
Title: leetcode 101. Symmetric Tree 对称二叉树(简单)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/620646/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SQL函数-聚合函数

    聚合函数 聚合函数是对一组数据进行汇总输出的函数。 输入:一组数据集合输出:单个值 举例:返回一组数据的最大值、平均数、最小、方差等操作。 常见函数举例: 1,AVG函数:返回一组…

    数据库 2023年5月24日
    0121
  • MYSQL–>函数与约束条件

    函数最常用的地方就是查询语句处 select 函数(字段) from &#x8868…

    数据库 2023年6月14日
    095
  • Jmeter操作ES

    JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎(简称es…

    数据库 2023年6月14日
    096
  • Flyweight 享元(结构型)

    一:描述:(该模式实际应用较少) Flyweight 享元模式是对大量细粒度的元素进行共享和重用。减少对象的创建减轻内存; 注和单例模式不同的是:享元模式的各个对象佣有各自的行为并…

    数据库 2023年6月11日
    0110
  • 【运维】– Docker基础必知必会(1)

    1.Docker简介 Docker的出现简单地说就是为了解决运行环境和软件配置相关的不一致性问题,采用Docker镜像的方式将软件所需要的运行环境打包。通过Docker build…

    数据库 2023年6月6日
    0113
  • 雷军传-怀揣梦想,砥砺前行

    最近几天看完了一本书,是一本个人传记–《雷军传-站在风口上》,我总结为”怀揣梦想,砥砺前行”。 其实在我高中时期就已经把雷军视为偶像,只不过当时…

    数据库 2023年6月11日
    084
  • sql查询结果的排序问题

    在sql语句中的查询语句,不同的写入顺序会导致查询的结果不一样 比如我要查询一个联合表中的同学,如果查询的顺序不一样的话,那么结果就会不同 上图为数据的关系图 下面我们要查询张三老…

    数据库 2023年6月11日
    092
  • 字节一面:事务还没提交的时候,redolog 能不能被持久化到磁盘呢?

    又是被自己菜醒的一天,总结面经看到这题目听都没听过,打开百度就像吃饭一样自然 老规矩,背诵版在文末。点击阅读原文可以直达我收录整理的各大厂面试真题 首先,咱需要明白的是,啥是持久化…

    数据库 2023年6月6日
    0134
  • 5 float f = 3.4,是否正确

    不正确,赋值运算符 “=” 左右两边的精度类型不匹配。 Java中,有小数点的默认被存储为double类型,即双精度;而float类型的变量为单精度。 可以…

    数据库 2023年6月6日
    077
  • mysql约束

    一、表约束 PK主键约束(索引)唯一约束 非空 默认值 在关系数据库,一个表中,只能有一个主键(Primary Key),有些数据库没有pk,系统报出错误。 在myql数据库,建立…

    数据库 2023年6月9日
    083
  • DRF补充数据库异常和Redis异常

    DRF补充数据库异常和Redis异常 (1)在项目适当位置新建exceptions.py,内容如下: from rest_framework.views import except…

    数据库 2023年6月14日
    063
  • 互联网校招指北

    这篇文章写着写着,突然觉得《紧急救援》中有一句台词很对: “不是幸运给你机会,而是因为够坚持,才有了幸运的机会” 共勉~ 时间跨度 一年共两次校招季,2 月…

    数据库 2023年6月6日
    092
  • 8、IDEA提交代码出现: Fetch failed fatal: Could not read from remote repository

    转载自 第一步、确认Git公钥/密钥是否生成: 1、 首先查看本地是否生成git密钥,一般在C盘home目录下:【C:你自己的home目录.ssh】 第二步:添加Git密钥: 右键…

    数据库 2023年6月6日
    095
  • Spring Boot结合Element UI前后端分离的aixos的简单操作

    1:axios是什么? 2:准备工作: 安装axios:npm install axios 或者直接使用在线的cdn:script> 我这边是结合了element UI来做的…

    数据库 2023年6月6日
    0230
  • 用Python自动实现图表可视化操作,提高工作效率,又能有更多的时间摸鱼了~

    在数据分析过程中,一般提取数据库里面的数据时候,拿着表格数据反复思索,希望能够根据自己所想立马生成一张数据可视化的图表来更直观的呈现数据。 但想要进行数据可视化的时候,往往需要调用…

    数据库 2023年6月14日
    060
  • Mybatis-Plus使用 ORDER BY FIELD

    一、Mybatis-Plus使用 ORDER BY FIELD 如图所示 两张仅有一个字段关联的表,商品表想用活动商品表查出来的顺序去查商品可以使用以下方法(不想去XML写Sql的…

    数据库 2023年6月6日
    088
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球