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

要点

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

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

相关推荐
小则又沐风a几秒前
进一步了解进程---第四章 进程管理
java·服务器·前端
超梦dasgg4 分钟前
并查集(Union-Find)详解 + Java 完整实现
java·数据结构·算法·图搜索
WL_Aurora8 分钟前
Java集合框架核心组件
java
我是一颗柠檬9 分钟前
【JDK8新特性】Stream流API上Day4
java·开发语言·后端
超梦dasgg10 分钟前
拆分大对象 + 流式处理 + 不一次性加载全量数据
java·jvm·windows
我是一颗柠檬16 分钟前
【JDK8新特性】方法引用与构造器引用Day3
java·开发语言·后端·intellij-idea
在繁华处16 分钟前
从零搭建轻灵(五):记忆系统与生产化特性
java·jvm·oracle
天若有情67321 分钟前
Deepseek-V4-Flash-20260423 深度评测与实战指南
java·大数据·网络·ai
折哥的程序人生 · 物流技术专研26 分钟前
《Java 100 天进阶之路》第32篇:Java常用工具类(Objects、Collections、Arrays深入)
java·后端·面试·求职招聘
憧憬成为java架构高手的小白27 分钟前
苍穹外卖项目-day02
java·spring