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

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

示例 1:

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

前言
两个二叉树相同,当且仅当两个二叉树的结构完全相同,且所有对应节点的值相同。因此,可以通过搜索的方式判断两个二叉树是否相同。

方法一:深度优先搜索
如果两个二叉树都为空,则两个二叉树相同。如果两个二叉树中有且只有一个为空,则两个二叉树一定不相同。

如果两个二叉树都不为空,那么首先判断它们的根节点的值是否相同,若不相同则两个二叉树一定不同,若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。这是一个递归的过程,因此可以使用深度优先搜索,递归地判断两个二叉树是否相同。

class Solution:def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:if not p and not q:return Trueelif not p or not q:return Falseelif p.val != q.val:return Falseelse:return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)
class Solution:def isSameTree(self,p: TreeNode,q:TreeNode) -> bool:if not p and not q:return Trueelif not p or not q:return Falseelif p.val != q.val:return Falseelse:return self.isSameTree(p.left,q.left) and self.isSameTree(p.right, q.right)

2021-09-03相同的树相关推荐

  1. 从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/12

    从重采样到数据合成:如何处理机器学习中的不平衡分类问题? 转载 2017年08月01日 17:09:03 标签: 机器学习 / 数据 719 转自:http://www.sohu.com/a/1293 ...

  2. 【财经期刊FM-Radio|2021年03月29日】

    title: [财经期刊FM-Radio|2021年03月29日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 北京时间周一亚洲早盘,美股期货和原油期货小幅走低. 低基数叠加&qu ...

  3. 【财经期刊FM-Radio|2021年03月03日】

    title: [财经期刊FM-Radio|2021年03月03日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 科技股拖累美股回落,电动车股大跌,蔚来小鹏跌超10%,芯片股下挫,金 ...

  4. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  5. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

  6. 【财经期刊FM-Radio|2021年03月01日】

    title: [财经期刊FM-Radio|2021年03月01日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 2月份中国制造业PMI季节性回落,经济仍保持稳定恢复势头 茅台集团去 ...

  7. 实习日志 (2021.09.13)

    2021.09.13星期一 今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花 ...

  8. 【财经期刊FM-Radio|2021年03月04日】

    title: [财经期刊FM-Radio|2021年03月04日] 微信公众号: 张良信息咨询服务工作室 [今日热点新闻一览↓↓] 科技股拖累纳指跌超2%,ARKK跌入熊市,美债收益率又猛升,美国5年 ...

  9. 2021年03月-电子学会青少年等级考试C语言(二级)真题与解析

    2021年03月软件编程(C语言)等级考试(二级) 分数:100   题数:5 时间限制:1000 ms   内存限制:65536 kB 1.与指定数字相同的数的个数 [题目描述]   输出一个整数序 ...

  10. 2021.06.03邮票面值设计

    2021.06.03邮票面值设计 题目描述 给定一个信封,最多只允许粘贴 N 张邮票,计算在给定 K(N+K≤15)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值 MAX ...

最新文章

  1. Centos新建系统用户详解
  2. route map应用策略路由(下)
  3. 需求调研 现有系统梳理_对速度的需求,访问现有数据的速度提高了1000倍
  4. 51nod 1099 任务执行顺序
  5. Address already in use: JVM_Bind:8080类似问题解决方法
  6. Windows 11 全新 4K 壁纸发布
  7. WindowsGhost 还原系统 0xc0000428 错误
  8. 消息对话框(消息盒子)
  9. Android中wifi认证的实现
  10. SHINE OPENCART 自适应 多用途主题模板 ABC-0021
  11. JAVA毕业设计计算机类专业考研交流学习平台计算机源码+lw文档+系统+调试部署+数据库
  12. 移动端电子签名,签名内容移动缩放,生成合同图片(uniapp)
  13. @Scheduled使用及讲解
  14. Opencv contours找出最大轮廓
  15. 基于yolov8的检测分割跟踪软件系统(含Pyqt界面,附下载链接和演示视频,集成四种多目标跟踪算法,模型已训好)
  16. C++ 静态成员变量和静态成员函数
  17. android 自由浏览器下载地址,改善手机上网体验 云集浏览器Android 2.3.1版发布
  18. js新框架 svelte
  19. stdlib.h使用
  20. 信息资源管理思维导图

热门文章

  1. 【转】在唯一密钥属性“value”设置为“***”时,无法添加类型为“add”的重复集合项解决方法
  2. 如何开发一个完整的JavaScript组件
  3. 编译安装nginx并修改版本头信息—参考实例
  4. struts2标签库使用小结
  5. java删除未引用的库_利用Proguard移除无用代码以及碰到的坑
  6. 点云的无序性_三维点云分类与分割-PointNet
  7. Python_基础1
  8. 传奇服务器维护活力值怎么算,电竞传奇活力值怎么补满 电竞传奇快速恢复方法...
  9. r语言集合补集_极速统计教程之八 | 概率和集合
  10. 中常用的数据结构_代码面试需要知道的8种数据结构(附面试题及答案链接)