【LeetCode刷题(数据结构)】:对称二叉树

news2024/10/6 8:34:45

在这里插入图片描述
给你一个二叉树的根节点 root 检查它是否轴对称
在这里插入图片描述
输入:root = [1,2,2,3,4,4,3]
输出:true
在这里插入图片描述
输入:root = [1,2,2,null,3,null,3]
输出:false
提示:
树中节点数目在范围 [1, 1000] 内
-100 <= Node.val <= 100
对称二叉树定义: 对于树中 任意两个对称节点 L 和 R ,一定有:

L.val = R.val :即此两对称节点值相等。
L.left.val = R.right.val :即 LLL 的 左子节点 和 RRR 的 右子节点 对称。
L.right.val = R.left.val :即 LLL 的 右子节点 和 RRR 的 左子节点 对称。
根据以上规律,考虑从顶至底递归,判断每对左右节点是否对称,从而判断树是否为对称二叉树
在这里插入图片描述

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool check(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 check(p->left,q->right) && check(p->right,q->left);
    }
    else{
        return false;
    }
}
bool isSymmetric(struct TreeNode* root){
    return check(root,root);
}

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

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

相关文章

芯片学习记录AM26LS31INSR

AM26LS31INSR 芯片介绍 AM26LS31 系列器件是四路互补输出线路驱动器&#xff0c;可 满足 ANSI TIA/EIA-422-B 和 ITU &#xff08;原 CCITT &#xff09;建议 V.11 的要求。三态输出可提供用于驱动双绞线或平行 双线传输线路等平衡线路的高电流&#xff0c;并在断电情况下处…

C# 解决从其他地方迁移项目,引用中大多数包是感叹号的问题

当在 Visual Studio 中复制别人的 C# 项目时&#xff0c;遇到许多包冒感叹号的问题通常是因为缺少相关的 NuGet 包或引用不正确导致的。这会在解决方案资源管理器中的引用下显示感叹号。 解决办法如下&#xff1a; 在 Visual Studio 中打开项目。 在解决方案资源管理器中&…

Ubuntu 上传项目到 GitHub

一、前言 GitHub 作为时下最大的开源代码管理项目&#xff0c;广泛被工程和科研人员使用&#xff0c;本文主要介绍如何如何将自己的项目程序上传到 GitHub 上。 要上传本地项目到 GitHub 上&#xff0c;主要分为两步&#xff0c;第一步是 二、创建 SSH keys 首先登录 GitHu…

[Linux打怪升级之路]-管道

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…

SystemVerilog Assertions应用指南 第一章(1.25章节 “throughout”运算符)

蕴含( (implication)是目前讨论到的允许定义前提条件的一项技术。例如,要对一个指定的序列进行检验,必须某个前提条件为真。也有这样的情况,要求在检验序列的整个过程中,某个条件必须一直为真。蕴含只在时钟边沿检验前提条件一次,然后就开始检验后续算子部分,因此它不检测先行算…

“一馆一策”保亚运,精准气象服务背后的数据魔法

第十九届杭州亚运会已隆重闭幕&#xff0c;十五个比赛日留下了无数精彩的瞬间&#xff1a;开幕式数字火炬手点燃主火炬、男女100米接力赛的激情澎湃、“时间孤勇者”丘索维金娜的坚持、围棋选手柯洁的泪洒赛场…… 作为亚洲水平最高的综合型运动会&#xff0c;本届杭州亚运会竞…

指令跳转:原来if...else就是goto

目录 CPU 是如何执行指令的&#xff1f; 从 if…else 来看程序的执行和跳转 如何通过 if…else 和 goto 来实现循环&#xff1f; 小结 你平时写的程序中&#xff0c;肯定不只有 int a 1 这样最最简单的代码或者指令。我们总是要用到 if…else 这样的条件判断语句、while 和…

教你怎么在电脑端下载西瓜视频源文件

家里长辈平时爱用西瓜视频&#xff0c;看到喜欢的广场舞就会收藏&#xff0c;甚至想下载到视频机&#xff0c;晚上去广场跟着跳&#x1f923;。 这时计算机专业出身的我&#xff0c;就派上用场了。不废话&#xff0c;直接上手&#xff1a; 打开西瓜视频官网&#xff0c;搜索到…

SystemVerilog Assertions应用指南 第一章(1.27章节 “within”运算符)

“ within”构造允许在一个序列中定义另一个序列。 seq1 within seq2 这表示seq1在seq2的开始到结束的范围内发生,且序列seq2的开始匹配点必须在seq1的开始匹配点之前发生,序列seq1的结束匹配点必须在seq2的结束匹配点之前结束。属性p32检查序列s32a在信号“ start”的上升沿和…

【Redis】Java客户端使用list命令

lpush/lrange rpush/rpop/lpop blpop/brpop llen

SQL Server——数据与表的操作

SQL Server 一、实验目的二、实验内容三、实验要求四、实验过程图形化界面完成此实验使用SQL语句进行创建数据库、表格&#xff0c;修改数据库内容、删除数据库 五、实验心得与体会&#xff1a; 一、实验目的 1)熟悉management studio环境。2)掌握management studio环境下创建…

Hadoop3教程(五):NameNode和SecondaryNameNode

文章目录 &#xff08;59&#xff09;NN和2NN的工作机制&#xff08;60&#xff09;FsImage镜像文件&#xff08;61&#xff09;Edits编辑日志&#xff08;62&#xff09;Checkpoint时间设置参考文献 &#xff08;59&#xff09;NN和2NN的工作机制 NameNode的数据是存储在磁盘…

TLP2168

学习记录一下TLP2168 光耦&#xff08;Optocoupler&#xff09;是一种将电气信号转换为光信号再转换回电气信号的装置。它通常由一个发光二极管&#xff08;LED&#xff09;和一个光敏三极管&#xff08;Phototransistor&#xff09;或光敏二极管组成。光耦在电子电路中起到隔…

带你清晰理解二叉树的递归与解题思路(框架思维!)

文章目录 前言&#xff1a;&#x1f415;啥叫“框架思维”&#x1f3e8;深入理解前中后序&#x1fa80;前序位置与后序位置区别 两种解题思路&#xff1a;下面用几道简单题来练习一下&#xff1a;&#x1f380;力扣 104.二叉树的最大深度&#x1f380;力扣 144.翻转二叉树 前言…

树莓派部署.net core控制台程序

1、在自己的电脑上使用VS写一个Net6.0的控制台程序&#xff0c;我假设我就写个Helloworld。 发布项目 使用mobaxterm上传程序 就传三个文件就行 回到在mobaxterm中&#xff0c;进入目录输入&#xff1a;cd consolepublish,运行程序&#xff1a; dotnet ConsoleApp1.dll 输出h…

亚马逊精细化运营是什么意思?旺季如何高效进行数据精细化运营?—站斧浏览器

亚马逊精细化运营是什么意思&#xff1f; 精细化运营是去精心打造一件产品&#xff0c;例如把店铺运作的某款产品挑出来着重分析。分析方式可以是把卖家所看中在亚马逊中排名较好的产品&#xff0c;用EXCEL电子表格对选中的产品&#xff0c;在平台相关数据表现做数据统计对比。…

unity ugui text 超链接和下划线,支持富文本

项目需要用到该功能&#xff0c; 搜索和参考了很多文章&#xff0c;要么不支持富文本&#xff0c;要不没有下划线&#xff0c;要么是错误的&#xff0c;修修改改后满足我的需求&#xff0c;代码如下 using System; using System.Collections.Generic; using System.Text; usin…

微信小程序备案流程操作详解,值得收藏

目录 一、小程序备案法律法规参考 二、备案前准备 2.1 备案入口 2.1.1、未上架小程序 2.1.2、已上架小程序 (二)备案类型 (三)备案材料准备 3.1、小程序备案材料 3.2、前置审批材料 3.3、个人备案 3.4、非个人备案 三、备案整体流程 (一)备案信息填写 1、主体信息…

两种方式获取Stream流的方式

java.util.stream.Stream<T> 是Java 8 新加入的最常用的流接口。&#xff08;这并不是一个函数式接口&#xff09;获取一个流有以下两种方式 所有的 Collection集合 都可以通过stream默认方法获取流 Stream接口 的静态方法of可以获取数组对应的流 package com.csdn.s…

想要精通算法和SQL的成长之路 - 分割数组的最大值

想要精通算法和SQL的成长之路 - 分割数组的最大值 前言一. 分割数组的最大值1.1 二分法 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 分割数组的最大值 原题链接 首先面对这个题目&#xff0c;我们可以捕获几个关键词&#xff1a; 非负整数。非空连续子数组。 那么我…