LeetCode第100题 - 相同的树

题目

给定两个二叉树,编写一个函数来检验它们是否相同。

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

解答

java 复制代码
boolean isSameTree(TreeNode p, TreeNode q) {
    // p/q 二者其一为null
    if ((p == null && q != null) || (p != null && q == null)) {
        return false;
    }
    // p/q二者均为null
    if (p == q && p == null) {
        return true;
    }
    // 二者均不为null,且值不相同
    if (p.val != q.val) {
        return false;
    }

    // 检查左、右子树
    return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}

要点

使用递归法解答,比较简单。

检查树节点的对象是否相同时,注意不要犯二。

相关推荐
Gauss松鼠会几秒前
GaussDB(DWS) SQL性能问题案例集
java·数据库·经验分享·spring boot·后端·sql·gaussdb
NiceCloud喜云11 分钟前
Anthropic 发布 Project Glasswing:未公开模型 Mythos 已挖出 10000+ 漏洞,含 OpenBSD 27 年老 bug
android·java·数据库·c++·python·docker·bug
鬼才血脉17 分钟前
IDEA中集成Tomcat后重新部署、重启服务器、更新资源、更新类和资源的使用
java·服务器·intellij-idea
码农的小菜园18 分钟前
Java创建单例
java·开发语言·单例模式
Tisfy22 分钟前
LeetCode 3121.统计特殊字母的数量 II:状态机
算法·leetcode·题解·状态机
洛水水24 分钟前
【力扣100题】61.和为 K 的子数组
算法·leetcode·哈希算法
曹牧25 分钟前
C#:基类中定义泛型方法
java·开发语言·c#
兰令水26 分钟前
leecodecode【滑动窗口】【2026.5.27打卡-java版本】
java·数据结构·算法
sheeta199829 分钟前
LeetCode 补拙笔记 日期:2026.05.27 题目:61. 旋转链表
笔记·leetcode·链表
颖火虫盟主33 分钟前
Conan C++ 包管理工具深度解析
java·jvm·c++