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);
}

要点

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

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

相关推荐
3***16101 分钟前
【JavaEE】Spring Boot 项目创建
java·spring boot·java-ee
6***v4174 分钟前
VScode 开发 Springboot 程序
java·spring boot·后端
t***31658 分钟前
SpringBoot中自定义Starter
java·spring boot·后端
橘子编程11 分钟前
经典排序算法全解析
java·算法·排序算法
z***33512 分钟前
SpringBoot获取bean的几种方式
java·spring boot·后端
aloha_78924 分钟前
联易融测开面试准备
java·python·面试·单元测试
s***469825 分钟前
【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
java·spring boot·后端
im_AMBER27 分钟前
Leetcode 63 定长子串中元音的最大数目
c++·笔记·学习·算法·leetcode
动亦定1 小时前
页面导出大量数据导致响应超时解决方案
java·mysql
小白程序员成长日记1 小时前
2025.11.29 力扣每日一题
数据结构·算法·leetcode