LeetCode———100——相同的树

 

目录

 ​编辑

1.题目

2.解答 


1.题目

. - 力扣(LeetCode)

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:false

提示:

  • 两棵树上的节点数目都在范围 [0, 100] 内
  • -104 <= Node.val <= 104

2.解答 

首先,我们判断两个节点p和q是否都为空,如果是,则表示当前子树相同,返回true。

然后,我们判断p和q是否有一个为空,如果是,则表示当前子树不相同,返回false。

最后,我们判断p和q的值是否相等,如果不相等,则表示当前子树不相同,返回false。

然后,我们递归判断p的左子树和q的左子树的相同性,以及p的右子树和q的右子树的相同性。

最终,如果所有子树都相同,返回true,否则返回false。

这种方法的时间复杂度是O(n),其中n是两个二叉树中节点的个数。

bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{if(p==NULL&&q==NULL){return true;}if(p==NULL||q==NULL){return false;}if(p->val!=q->val){return false;}return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}

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

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

相关文章

【数据挖掘】实验8:分类与预测建模

实验8&#xff1a;分类与预测建模 一&#xff1a;实验目的与要求 1&#xff1a;学习和掌握回归分析、决策树、人工神经网络、KNN算法、朴素贝叶斯分类等机器学习算法在R语言中的应用。 2&#xff1a;了解其他分类与预测算法函数。 3&#xff1a;学习和掌握分类与预测算法的评…

《QT实用小工具·二十七》各种炫酷的样式表

1、概述 源码放在文章末尾 该项目实现了各种炫酷的样式表&#xff0c;如单选、多选、按钮、日历、表格、下拉框、滚轮等&#xff0c;下面是项目demo演示&#xff1a; 项目部分代码如下&#xff1a; #include "frmmain.h" #include "ui_frmmain.h" #inc…

从入门到精通C++之类和对象(续)

目录 初始化列表构造函数&#xff1f;拷贝构造&#xff1f;浅谈explicit关键字友元 内部类static成员总结 初始化列表 引入初始化列表&#xff1a;简化代码&#xff0c;提高效率 在编程中&#xff0c;初始化列表是一种用于在创建对象时初始化成员变量的快捷方式。通过初始化列…

数据结构(七)——B树和B+树

7.4.1_1 B树 5叉查找树 //5叉排序树的结点定义 struct Node {ElemType keys[4]; //最多4个关键字struct Node &child[5]; //最多5个孩子int num; //结点中有几个关键字 }; 如何保证查找效率&#xff1f; eg:对于5叉排序树&#xff0c;规定…

校园智能水电预付费管理系统

校园智能水电预付费管理系统是一种专为学校水电资源管理而设计的智能化系统&#xff0c;旨在提供全面的水电资源管理解决方案&#xff0c;满足校园管理者对水电资源管理的需求。该系统整合了先进的智能技术和云计算&#xff0c;为校园管理者提供了实时监控、自动计费、节能管理…

Java面试八股之经验总结

我们先来聊聊面试的技巧吧&#xff0c;只是单纯的个人经验总结&#xff0c;如果大家觉得有道理&#xff0c;就选择性吸收一下就好了。如果觉得没用&#xff0c;可以直接跳过。 自我介绍一定要好好准备。我之前对自我介绍这部分也不是很重视&#xff0c;面试多了之后我发现&…

钉钉OA审批评论接口,如何@ 人并发送通知

钉钉OA审批评论接口&#xff0c;如何 人并发送通 问题描述&#xff1a; 相关接口&#xff1a;https://oapi.dingtalk.com/topapi/process/instance/comment/add 我希望在钉钉oa审批流程中&#xff0c;添加评论的同时通过“”或者其他方式提醒流程发起人去跟进审批工作。 但我…

数据寻址方式

立即数寻址速度>寄存器寻址>直接寻址 https://blog.csdn.net/qq_58099084/article/details/120602982

【Linux】Linux信号

目录 信号的概念 生活中的信号 Linux中的信号 kill命令 kill 命令的使用 常见的信号 命令行代码示例 注意事项 信号的处理方式 产生信号 信号的捕捉 信号捕捉示意图 内核如何实现信号捕捉 信号的捕捉与处理 小结 阻塞信号 信号在内核中的表示图 信号集操作函数…

Java时间戳转换全攻略:从1712560695839到日期

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、时间戳是什么&#xff1f;为什么需要它&#xff1f; 时间戳&#xff0c;简单来说&#xff0c;就是一个表示特定时间点的数字。在计算机科学中&#xff0c;时间戳是一个非常重要的概念&#xff0c;因为它们被广泛…

linux 挂载云盘 NT只能挂载2T,使用parted挂载超过2T云盘

一、删除原来挂载好的云盘和分区 1、查看挂载号的云盘 fdisk -l 发现我们有5千多G但是只挂载了2T&#xff0c;心里非常的慌张&#xff01;十分的不爽&#xff01; 好&#xff0c;我们把它干掉&#xff0c;重新分区&#xff01; 2、解除挂载 umount /homeE 没保存跳转到&…

「每日跟读」英语常用句型公式 第14篇

「每日跟读」英语常用句型公式 第14篇 1. As far as __ is concerned 就__ 而言 As far as the project timeline is concerned, we’re running ahead of schedule. &#xff08;就项目时间表而言&#xff0c;我们进度超前了。&#xff09; As far as the exam results ar…

【高精度算法】【蓝桥杯备考训练】:高精度加法、高精度减法、高精度乘法、高精度除法【已更新完成】

目录 1、高精度加法 2、高精度减法 3、高精度乘法 4、高精度除法 1、高精度加法 给定两个正整数&#xff08;不含前导 0&#xff09;&#xff0c;计算它们的和。 输入格式 共两行&#xff0c;每行包含一个整数。 输出格式 共一行&#xff0c;包含所求的和。 数据范围 1≤…

二分查找的时间复杂度的讲解

二分查找的代码&#xff1a; 二分查找的时间复杂度&#xff1a; 最坏的情况&#xff1a; 就是找不到和查找区间只剩一个值的时候&#xff0c;这两种都是最坏的结果&#xff0c;假设查找了x次&#xff0c;达到了最坏的结果&#xff1a; N代表每一次折半区间数据的个数&#xf…

基于unlink 和黑白名单实现删除脚本(日志清理、历史备份清理)

零 摘要 rm 过于强大&#xff0c;当使用root 用运行删除脚本时&#xff0c;总是担心误删除&#xff0c;本脚本改用unlink 命令删除单文件&#xff0c;使用黑白名单限制删除文件所在目录&#xff0c;只有被删除文件不在黑名单目录下且同时在白名单目录下才能删除 一 脚本 #!/…

GNeRF的一些具体细节

Abstract GNeRF&#xff0c;一个结合生成对抗网络(GAN)和神经辐射场(NeRF)重建的框架&#xff0c;用于未知甚至随机初始化相机姿态的复杂场景。最近基于 NERF 的进展已经获得了显着的现实新视图合成的普及。然而&#xff0c;大多数方法都严重依赖于摄像机姿态的精确估计&#…

【过程11】——教育被点燃的路上

这里写目录标题 一、背景二、过程1.两年四十万的认知改变2.三年打工仔的经历改变3.一年计算机的人生蜕变4.后面的展望 三、总结 一、背景 人生在世&#xff0c;对于一些事情的笃信笃行&#xff1b;背后真的会有莫大无以言表的波涛。 这个事情到现在已经五年半左右时间了&#…

分类算法——文章分类(五)

文章分类计算 计算结果 P(C|Chinese,Chinese,Chinese,Tokyo,Japan)-->P(Chinese, Chinese, Chinese, Tokyo, Japan|C) * P(C)/P(Chinese, Chinese, Chinese, Tokyo, Japan) P(Chinese|C)5/8 P(Tokyo|C) 0 P(Japan|C) 0思考&#xff1a;我们计算出来某个概率为0&#xff0c;…

mybatis基础篇-mybatis使用-mybatis工具类封装

mybatis官网 https://mybatis.org/mybatis-3/zh_CN/getting-started.html 官网跳转连接 jar包下载 https://download.csdn.net/download/weixin_44201223/89146621 本练习所需jar包资源下载 1、创建数据库数据 # 创建数据库 create database test; use test; # 创建表 cre…

Qt学习笔记(一)

信号与槽机制 本质上就是观察者模式&#xff1b; ------------------------------------------信号槽是Qt框架引以为豪的机制之一。所谓信号槽&#xff0c;实际就是观察者模式。当某个事件发生之后&#xff0c;比如&#xff0c;按钮检测到自己被点击了一下&#xff0c;它就会发…