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

【LeetCode: 100. 相同的树 + 二叉树 + 递归】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 二叉树 + 递归
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 100. 相同的树

⛲ 题目描述

给你两棵二叉树的根节点 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

🌟 求解思路&实现代码&运行结果


⚡ 二叉树 + 递归

🥦 求解思路
  1. 采用递归方法判断两棵树是否相同:
    • 若p和q都为空,返回true。
    • 若p或q其中一个为空,返回false。
    • 若p和q当前节点值相等,递归判断左子树和右子树是否相同,都相同则返回true。
    • 若p和q当前节点值不等,返回false。
  2. 有了基本的思路,接下来我们就来通过代码来实现一下。
🥦 实现代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 * int val;
 * TreeNode left;
 * TreeNode right;
 * TreeNode() {}
 * TreeNode(int val) { this.val = val; }
 * TreeNode(int val, TreeNode left, TreeNode right) {
 * this.val = val;
 * this.left = left;
 * this.right = right;
 * }
 * }
 */
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null)
            return true;
        if (p == null || q == null)
            return false;
        if (p.val == q.val) {
            return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
        }
        return false;
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/461609.html

相关文章:

  • 【开源社区openEuler实践】hpcrunner
  • React 数据是怎样传递的
  • 快速上手LangChain(三)构建检索增强生成(RAG)应用
  • MATLAB画柱状图
  • 《从入门到精通:蓝桥杯编程大赛知识点全攻略》(一)-递归实现指数型枚举、递归实现排列型枚举
  • idea 的 springboot项目spring-boot-devtools 自动编译 配置热部署
  • 112、Qt MSVC编译Qtxlsx
  • 【中间件】docker+kafka单节点部署---zookeeper模式
  • Java安全—SpringBootJWT身份权鉴打包部署
  • 地理数据库Telepg面试内容整理-如何在高并发情况下保证GIS服务的高可用性?
  • VMware安装Windows11虚拟机,图文详细,附免费资源,持续更新
  • 常用的linux命令介绍
  • 【视觉SLAM:六、视觉里程计Ⅰ:特征点法】
  • kioptrix靶场--level5
  • Android WorkManager使用介绍
  • ROS2+OpenCV综合应用--10. AprilTag标签码追踪
  • UE5 Debug的一些心得
  • 联通 路由器 创维SK-WR9551X 联通华盛VS010 组mesh 和 锐捷X32 PRO 无缝漫游
  • Spring Boot + MinIO 实现分段、断点续传,让文件传输更高效
  • RabbitMQ生产消息【交换机、路由键】与消费消息的简单使用
  • Javascript数据结构常见面试题目(全)
  • leetcode 3046. 分割数组 简单
  • Druid密码错误重试导致数据库超慢
  • 网络安全专有名词详解_2
  • vant 地址记录
  • InfoNCE Loss详解(上)