LeetCode100.相同的树

【简单】力扣算法题解析LeetCode100:相同的树 本题要求判断两棵二叉树是否相同(结构相同且节点值相同)。通过递归深度优先搜索(DFS)实现:若两节点均为空则返回true,若一空一非空或节点值不等则返回false,否则递归检查左右子树。时间复杂度O(n),空间复杂度O(h)(树高)。Java代码简洁高效,利用短路优化提升性能。示例与图解清晰展示不同情况,适合初学者理解二叉树递归遍历。 关键词:二叉树、递归、DFS、结构比较、节点值 阅读详情

1.题目描述

给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

2.题目示例

在这里插入图片描述
题目链接:https://leetcode-cn.com/problems/same-tree

3.算法实现

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        if(p==NULL && q==NULL)
        	return false;
        if(p==NULL && q!=NULL)
        	return true;
        if(p!=NULL && q==NULL)
        	return true;
        
        if(p->val != q->val)
        	return false;
		
		bool isLeft = isSameTree(p->left,q->left);
		bool isRight = isSameTree(p->right,q->right);
		return isLeft && isRight;
    }
};
python【力扣LeetCode算法题库】100-相同的树 相同的树 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / 2 ... 阅读详情

相关推荐

Confluence安装Drawio插件

记录confluence安装drawio插件步骤

devotedwife的博客 7377

100. 相同的树【 力扣(LeetCode) 】

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。【 m,n 为两棵树的结点数】【 h 为两棵树的树高】

yyh520025的博客 1257

KNX智能家居工程设计应用

KNX,是一个起源于欧洲的总线标准,主要应用于家居和楼宇中,对末端电气设备进行总线式的控制,比如照明、空调、地暖、电动窗帘和遮阳设备等等。根据2017年英国著名咨询公司BSRIA的数据报告显示,在中国的智能家居和灯光控制市场,KNX产品的市场份额为各类产品中排名第一,占据了42%的市场份额,远远领先于其他的标准协议。设备中一个继电器表示一路输出,某些功能可能需要用到多个输出,比如1个窗帘AC输出需要占用两路继电器输出,一个继电器用于控制正转,一个用于控制反转,而普通开关输出则需要占用一路继电器输出即可。

hhhh5555666的博客 934

LeetCode 力扣 100. 相同的树

题目描述(简单难度) 判断两个二叉树是否相同。 解法一 这道题就很简单了,只要把两个树同时遍历一下,遍历过程中判断数值是否相等或者同时为 null 即可。而遍历的方法,当然可以选择 DFS 里的先序遍历,中序遍历,后序遍历,或者 BFS。 当然实现的话,可以用递归,用栈,或者中序遍历提到的 Morris。也可以参照 98 题 、 94 题 ,对二叉树的遍历讨论了很多。 这里的话,由于最近几题对...

wind_liang的博客 986

Kimi K3大模型API实战:从调用到本地知识库问答系统构建

大语言模型(LLM)作为人工智能的核心技术,通过海量数据训练获得理解和生成自然语言的能力。其工作原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。这项技术的核心价值在于能够将非结构化文本转化为可计算、可交互的智能体,极大地提升了信息处理和自动化任务的效率。在应用场景上,大模型广泛应用于智能对话、代码生成、文档总结与问答等领域。其中,国产大模型如月之暗面推出的Kimi K3,凭借其在**长文本处理**和**中文场景优化**方面的优势,为开发者提供了新的技术选项。本文将以Kimi K3为例

weixin_30694389的博客 299

Jasper Report使用JSON数据源创建报表

最近在做一个项目小功能,表单结案要生成PDF报表。 起初,想用HTML模板(art-template模板引擎)编写,利用浏览器的打印功能保存成pdf文件下载。但是HTML编写好的模板,页码、页眉、页脚设置有坑,表单内容中的表格较多,表格不能设置跨页,导致跨页的表格内容与页眉重叠,没能解决这个问题。 于是,转战研究Jasper report生成报表,用更加专业的报表生成工具来做。刚开始,也是跌跌撞撞,遇到了很多问题,因为觉得没有退路了,必须要用这个搞出来,所以就硬着头皮去找各种资料。 主要使用的json

xiaogege2012的专栏 3319

100. 相同的树 - 力扣(LeetCode)

前序、中序、后序,三个位置的代码执行时机分别是,未遍历过该节点的子树、仅遍历过该节点的左子树、全遍历过该节点的左右子树。可以看出后序位置是最强大的,但这题用不到后序,前序即可解决问题,只需要看两个树的当前节点是否一致就可以了,用外部变量来记录。属于遍历一遍能得到答案的题,但用递归遍历,需要理解递归思想。

xxm919的博客 183

电力电子技术速通复习

一种完全纯净,结构完整的半导体晶体,其含有两种载流子而且,自由电子的浓度和空穴的浓度总是相等,一般情况下,在硅晶体中掺入P(磷)五价元素,多子为自由电子,少子为空穴;在硅晶体中掺入B(磷)三价元素,多子为空穴,少子为自由电子;6.PN结具有单相导电性,PN结具有雪崩击穿(T越高,击穿电压越大)和齐纳击穿(T越高,击穿电压越小),均可逆,热击穿不可逆;PN结具有电容效应,势垒电容(耗尽层变化等效的电容)扩散电容(非平衡少子引起的电荷量的变化等效出来的电容效应)

qq_62873973的博客 2506

LeetCode第100题_相同的树

给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两棵树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

qq_40263592的博客 1722

从零开始:如何在Windows上搭建Airsim仿真环境(避坑指南)

本文是一份详细的Windows平台AirSim仿真环境搭建指南。文章从硬件要求、Visual Studio与虚幻引擎安装开始,逐步讲解AirSim插件编译、UE项目配置,并重点介绍了通过WSL2连接PX4飞控软件实现软件在环仿真的完整流程。内容涵盖常见问题排查与性能优化,旨在帮助开发者避开常见陷阱,高效构建可用于无人机算法开发的虚拟测试平台。

earth的博客 300

TC3XX - MCAL知识点(三十五):Tasking编译器下,Tc3xx的MCAL代码如何使用多核,多核中断、多核任务、多核外设之间的MCAL配置与代码例程

文章用于记录在裸机情况下使用多核Tc387芯片,如何高效运行以及正确的代码、工程属性、链接文件配置等问题,相互结合、相互影响的地方,以示后续使用记录。

梦想技术家 961

Leetcode 100 相同的树 C++,Java,Python

Leetcode100 相同的树 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/same-tree/ 博主Github:https://github.com/GDUT-Rp/LeetCode 题目: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: ...

Rp的博客 368

构建AI Agent驱动的智能健康管理系统

数据碎片化:健康数据分散在不同的设备和平台中,难以统一管理和分析。个性化不足:健康管理方案通常是通用的,难以根据个人的健康状况实时调整。用户参与度低:用户难以获得及时、个性化的健康建议,导致健康管理效果不佳。AI Agent是一个能够感知环境、采取行动以实现目标的智能实体。根据智能体的智能水平,可以分为简单反应式智能体和复杂适应式智能体。实时监测健康数据。获取个性化的健康建议。收到健康风险预警。

AI天才研究院 749

Leetcode[树] 100. 相同的树

Leetcode[树] 100. 相同的树审题代码实现反思 审题 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 /

weixin_45415929的博客 244

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

力扣[LeetCode].100. 相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \ 2 2

C/C++/Linux/MySQL 464

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Leetcode 100. 相同的树 C++

Leetcode 100. 相同的树 题目 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 测试样例 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \

weixin_43750513的博客 169

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

LeetCode 100. 相同的树

题目链接 LeetCode 100. 相同的树 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 解题思路 这道题很简单,感觉LeetCode官方已经帮你把大部分的工作做好了,只要自己写个递归遍历一下就好了。 程序代码 c++ /** * Definition for a binary tree node. * st...

tangzhide123yy的博客 185

leetcode 100 ----- 相同的树

leetcode 100 ----- 相同的树 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 判定两个树相同 ==> 比较根节点是否相同 + 比较左子树是否相同 + 比较右子树是否相同 1. 如果两棵树都是空树,直接返回 ture 2. 如果两棵树一个为空,一个不为空,直接返回 false 3...

lsy18392609095的博客 151

力扣(LeetCode) 100: 相同的树 - 解法思路

给定两个二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。更快- 实际性能更好(O(n) vs O(n²))更简单- 更直观,易于理解自然匹配- 递归完美匹配树结构关键洞察是在每个节点检查三个条件:两者都是 None(相同)、一个是 None(不同)或值匹配(继续递归)。

Yao H. Wang's Blog 265

Leetcode100. 相同的树

Leetcode100. 相同的树 题目: 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:     1           1              / \       &...

会流泪de鱼的博客 122

力扣第100题 相同的树

记录一下刷题历程 力扣第100题 相同的树。

buaichifanqie的博客 406

力扣100. 相同的树(递归、迭代)

力扣100. 相同的树(递归) https://leetcode-cn.com/problems/same-tree/ 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例1: 输入: 1 1 / \ / \ 2 3 2 3...

小麦China的博客 422

#力扣 LeetCode100. 相同的树 #在所有 Java 提交中击败了 100.00% 的用户 @FDDLC

题目描述: 100. 相同的树 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { //如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 public boolean isSameTree(TreeNode p, TreeNode q) { if(p==null&&q==null)return true; //都为空 else if(p==null^q==n.

LiuXingchang的博客 340

LeetCode 100相同的树

LeetCode 100相同的树 题目简述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 思路:递归判断:两个二叉树相等,当且仅当根节点的值相等,且左右两个子树分别相等。时间复杂度O(N) class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(!p && !q) return true; i

XBlog 165

Leetcode 100. 相同的树

Leetcode 100. 相同的树 题目 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 ...

clownote 266
上一篇: git clone:SSL certificate problem
下一篇: LeetCode7.整数翻转
Ecargwjx
博客等级 码龄9年 15粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值