当前位置: 首页 > news >正文

力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)

一:题目

二:代码

三:递归展开

第一种模型:

递归展开图:

左:

右:

第二种模型及其递归展开图:

解释:

递归思路即:根相同,左子树相同,右子树相同 即两棵树相同,

如果根相等,则递归地对左右子树进行相同的检查。

如果两个树都为空(即两个指针都为NULL),则两棵树相同,返回true。 

1:如果其中一个树为空,而另一个不为空,则两棵树不同,返回false 

2:这个if由于在第一个if之后,所以不会存在两边都成立的情况。

3:只会让两个都不为空的情况通过

如果两个树都不为空,但它们的根节点的值不同,则两棵树不同,返回false。

如果根节点的值相同,则递归地比较左子树和右子树是否相同。 

递归的终止条件是:

1:两棵树都为空,返回true。

2:其中一棵树为空,返回false。

3:两棵树的对应节点值不同,返回false。 

最后的return && 如果左边已经是假,不会在执行右边了,这是&&的性质

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot 一文复习知识点概览
  • 一个干净的python项目(没连数据库啥的)
  • 华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)
  • 游泳耳机哪个牌子好?四大爆款游泳耳机实测,优缺点秒懂!
  • flutter之image_picker上传图片
  • Memcached:单节点、集群案例;概念、工作原理
  • ubuntu 20.04系统安装pytorch
  • 阿里云发送短信功能(Java)
  • c++特殊类设计(重点单例模式)
  • Mysql客户端连接是报错:1045-Access denied for user
  • 方法的定义
  • Nuxt 入门实战 - 05:特性
  • vue项目中scss文件导出,js文件引入scss文件时为空{}
  • 代码随想录 -- 哈希表 -- 三数之和
  • Django 框架中F和Q的作用
  • 10个确保微服务与容器安全的最佳实践
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CSS居中完全指南——构建CSS居中决策树
  • Date型的使用
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Java反射-动态类加载和重新加载
  • Spark学习笔记之相关记录
  • 关于List、List?、ListObject的区别
  • 猴子数据域名防封接口降低小说被封的风险
  • 看域名解析域名安全对SEO的影响
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端路由实现-history
  • 微信开放平台全网发布【失败】的几点排查方法
  • 用mpvue开发微信小程序
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #每天一道面试题# 什么是MySQL的回表查询
  • (JS基础)String 类型
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (回溯) LeetCode 46. 全排列
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • **CI中自动类加载的用法总结
  • .htaccess配置常用技巧
  • .net 程序发生了一个不可捕获的异常
  • .Net 代码性能 - (1)
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net开发日常笔记(持续更新)
  • .net与java建立WebService再互相调用
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @SuppressWarnings(unchecked)代码的作用
  • @Valid和@NotNull字段校验使用
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝