相同的树`

题目链接

链接: 相同的树

题目要求

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

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

解题思路

使用前序遍历:

  1. 判断当前根节点的值是否相等
  2. 递归判断当前根节点左子树是否相等
  3. 递归判断当前根节点左右子树是否相等

结束条件:

  • p 和 q 都为空 true
  • p 或 q 其中一个为空 false
  • 根节点的 val 不相等 false

代码实现

java 复制代码
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 false;
        }
        return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
    }
}
相关推荐
古法老登瞎折腾6 分钟前
大数据智能运维实战(三):实现第一个运维 MCP 工具——查询节点与组件状态
java·大数据·运维·人工智能·spring ai·mcp
小蒜学长8 分钟前
基于数据挖掘的京东商城商品推荐系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·推荐系统·个性化推荐
IT研究室21 分钟前
最新计算机毕业设计选题推荐-基于spring boot的医院体检管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
有同事要进步26 分钟前
Leecode第68题:x的平方根
java·数据结构·算法
摇滚侠29 分钟前
使用 VSCode 开发 Java 经验分享
java·经验分享·vscode
吹什么轩33 分钟前
linux系统复习:进程优先级与O(1)调度
java·linux·算法
古法老登瞎折腾39 分钟前
大数据智能运维实战(六):任务一直在等——排查调度队列与执行资源
java·大数据·运维·spring ai·mcp
Pniubi44 分钟前
HashMap扩容全流程
java·开发语言·数据结构
考虑考虑9 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源