闯关leetcode——100. Same Tree

news2025/1/18 6:51:56

大纲

  • 题目
    • 地址
    • 内容
  • 解题
    • 代码地址

题目

地址

https://leetcode.com/problems/same-tree/description/

内容

Given the roots of two binary trees p and q, write a function to check if they are the same or not.

Two binary trees are considered the same if they are structurally identical, and the nodes have the same value.

Example 1:

Input: p = [1,2,3], q = [1,2,3]
Output: true
在这里插入图片描述

Example 2:

Input: p = [1,2], q = [1,null,2]
Output: false
在这里插入图片描述

Example 3:

Input: p = [1,2,1], q = [1,1,2]
Output: false
在这里插入图片描述

Constraints:

  • The number of nodes in both trees is in the range [0, 100].
  • -104 <= Node.val <= 104

解题

这题就是要比较两个二叉树中节点数值以及结构是否一致。需要注意的是,不能通过判断两个节点的数值一致而返回true,而是要更多考虑不一致的情况,比如左右节点结构是否一致以及数值是否一致。能够完全确认两个节点相同的就是它们都是nullptr,即都遍历到最后一级,且之前都没遇到返回false的情况。

#include <vector>
using namespace std;

struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode() : val(0), left(nullptr), right(nullptr) {}
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
};

class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        if (p == nullptr && q == nullptr) return true;
        if (p == nullptr || q == nullptr) return false;
        if (p->val != q->val) return false;
        return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
    }
};

在这里插入图片描述

代码地址

https://github.com/f304646673/leetcode/tree/main/100-Same-Tree

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

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

相关文章

PHP简单登录系统

目录 用户数据文件 (users.php) HTML 登录表单 (login.html) PHP 登录处理脚本 (login_process.php) 欢迎页面 (welcome.php) 注销脚本 (logout.php) 效果展示 用户名和密码错误时 用户名和密码正确时 用户数据文件 (users.php) 用于保存用户信息&#xff0c;用户名和他…

【PUSCH的时域资源分配】

DCI format 0_0/0_1用于调度PDSCH传输&#xff0c;每种格式都包含了时域和频域资源的分配字段。 和PDSCH一样&#xff0c;PUSCH也支持Type A和Type B两种映射类型&#xff0c;但是有效的S和L组合不同。 同样&#xff0c;当UE通过DCI调度PUSCH时&#xff0c;DCI的时域资源分配…

日语学习柯桥外语培训jlpt备考「意地」是什么意思?

「意地」 N1单词 意地&#xff08;いじ&#xff09; 词性&#xff1a;名词 含义&#xff1a;心术&#xff0c;用心&#xff1b;固执&#xff0c;倔强&#xff1b;志气&#xff0c;气魄&#xff1b;嘴馋&#xff0c;贪婪 例句&#xff1a; ▲自分が始めたことだから意地でもや…

长三角智驾花絮

杜轩第一次去说服清洁工&#xff0c;收养狗儿&#xff0c;结果清洁工说有人收养了狗&#xff0c;结果狗引起交通事故主人赔钱。第二次尝试说服大妈收养狗儿&#xff0c;大妈给狗儿一脚&#xff0c;说狗儿把她厕所搞脏了。第三次看路上的美女&#xff0c;去说服美女收养&#xf…

UE5运行时动态加载场景角色动画任意搭配-全流程代码(四)

UE5运行时动态加载场景、角色、角色动画、相机动画任意搭配,Android、iOS也可以跑,横竖屏兼容,手机竖屏: 1、场景切换UWorld处理 在通过OpenLevel进行场景切换的时候,UWorld会发生变化,需要我们获取正确的UWorld。 1、在GameInstance监听Level加载 void UMyGameInsta…

nemo-guardrails简单应用

环境&#xff1a;openEuler、python 3.11.6、nemoguardrails 0.10.1、Azure openAi 背景&#xff1a;工作需要&#xff0c;进行调研期间&#xff0c;发现问题太多&#xff0c;且国内网站好多没说明具体问题 时间&#xff1a;20241014 说明&#xff1a;搭建过程中主要是下载h…

ARMA3 STATUS_ACCESS _VIOLATION退出解决方法测试

方法1 [SOLVED] 0xc0000005 status_access_violation ARMA 3 (youtube.com) 启动器-参数-平台 改32位。 没卵用。 方法2 ArmA 3 "STATUS_ACCESS_VIOLATION" FIX!! [2018] (youtube.com) steam-ARMA3-属性-通用-启动选项&#xff1a;粘贴路径&#xff0c;后面加-…

基于FPGA的以太网设计(三)

通过前文介绍了RGMII接口时序我们可以知道&#xff0c;RGMII接口是在时钟信号的上升沿和下降沿均进行数据的传输&#xff0c;而FPGA则在时钟的单沿传输数据&#xff0c;因此我们需要编写代码将RGMII接口转换为GMII接口。 由于前面的介绍我们知道RTL8211默认工作在延时状态&…

体能攻略梳理

最近在锻炼身体&#xff0c;但如何才能更好的锻炼&#xff1f;最近看了慕课上的体能攻略&#xff08;https://www.icourse163.org/learn/HZIC-1206696841&#xff09;&#xff0c;讲的特别好。希望大家看了就是会了&#xff0c;看了就是做了&#x1f601;。 基本知识 减脂别只…

数据库常见面试

8道面试题 目录 目录 7道面试题 1.怎样进行sql优化 4、group by优化 5、limit优化 6、count优化 7、update优化 2.。怎样查看sql执行情况呢(哪个关键字)&#xff0c;说说你对这个关键字的认识 4) possible_key&#xff1a; 5) key 3.说说你对innodb和 myisam的理解 …

pdf阅读器哪个好用?5个软件帮助你快速阅读pdf文件

pdf阅读器哪个好用&#xff1f;5个软件帮助你快速阅读pdf文件 如果你在寻找好用的 PDF 阅读器&#xff0c;有很多强大的软件可以帮助你轻松、高效地阅读和处理 PDF 文件。这些软件不仅可以简单地查看文件&#xff0c;还能提供标注、评论、注释和文档管理等额外功能。以下是5款…

请确保已在git上配置你的user.name和user.email

问题&#xff1a;使用vscode在远程服务器上暂存修改报错&#xff1a; 原因&#xff1a;未在远程服务器上配置该项目对应的git的username和useremail 解决方法&#xff1a; 在vscode中新建一个终端 命名&#xff1a; git config --global user.email "youexample.com&qu…

Linux集群化软件安装,前置

1.准备多个虚拟机 可以选择克隆方式,更快捷 2.配置各个主机IP地址 命令 ; vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入这个文件,操作请看我的文章Linux更改固定IP地址https://blog.csdn.net/m0_72898512/article/details/142718753?spm1001.2014.3001.5501 各个主…

个人博客搭建 | Hexo框架

文章目录 1.Hexo安装2.创建博客3.将博客通过GitHub来部署4.更换主题 1.Hexo安装 Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown&#xff08;或其他标记语言&#xff09;解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。搭建Hexo首先要…

采购管理系统有哪些功能?

对于制造型企业来说&#xff0c;采购成本占据重要位置&#xff0c;直接影响企业利润空间&#xff0c;低采购成本可提升企业竞争力&#xff0c;高采购成本则可能压缩企业生存发展空间。一款好用的采购管理系统可以帮助企业解决降低成本的难题&#xff0c;那么采购管理系统有哪些…

如何轻松上手低代码和零代码平台进行应用开发?

在当今数字化转型加速的时代背景下&#xff0c;企业与个人对于快速开发高效的应用程序的需求日益增长。低代码&#xff08;Low Code&#xff09;和零代码&#xff08;No Code&#xff09;平台应运而生&#xff0c;为用户提供了无需深入了解编程语言&#xff0c;即可创建复杂业务…

javaweb-xml映射文件编写sql语句

可以使用注解的方式&#xff0c;也可以使用xml映射的方式&#xff0c;一般简单sql语句使用注解&#xff0c;复杂的使用xml映射。

上厕所也要看的 一篇博客学会线程 进程 并行 并发 Thread Runnable等

线程相关概念 程序 为完成特点的任务&#xff0c;用某种语言编写的一组指令的集合&#xff0c;简单来说就是我们的代码 进程 定义&#xff1a;进程是指运行中的程序&#xff0c;比如我们使用QQ,就启动了一个进程&#xff0c;操作系统就会为该进程分配内存空间&#xff0c;当我…

Idea中,resources下面建文件夹踩坑

Idea中&#xff0c;resources下面建文件夹踩坑 直接上问题 mybatis无法加载xml&#xff0c;别划走&#xff0c;这个无法加载可不是配置写错了&#xff0c;继续看&#xff01; 首先看上图中的xml&#xff0c;可以确定的是项目中所有的配置都是正确的&#xff0c;但是运行mappe…

Apache Kafka各Api模块说明

Kafka API 微信公众号&#xff1a;阿俊的学习记录空间小红书&#xff1a;ArnoZhangwordpress&#xff1a;arnozhang1994博客园&#xff1a;arnozhangCSDN&#xff1a;ArnoZhang1994 Kafka 包含五个核心 API&#xff1a; Producer API 允许应用程序将数据流发送到 Kafka 集群中…