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

要点

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

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

相关推荐
迅猛龙办公室2 小时前
python实现简单进度条
java·前端·python
斯内普吖2 小时前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物
知守观2 小时前
Spring Boot 2.1 → 3.5 迁移推演:这个 2018 年的项目会炸在哪
java·spring boot
Flynt2 小时前
800KB 的 JSON 吃掉 8.5 秒 CPU:jackson 这波修复里,最容易被漏掉的洞藏在字符串里
java·安全
后端LV2 小时前
Caffeine 快到 1450 万 ops/s,为什么我还是不敢说数据一致
java·后端
蜗牛互联网2 小时前
Java 17调用Embeddings API:余弦相似度与FAQ拒答阈值
java·开发语言·人工智能
旖旎夜光2 小时前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
longlongzihan2 小时前
回溯法详解:LeetCode 46. 全排列
算法·leetcode·回溯
Q26433650233 小时前
【有源码】基于SpringBoot+Vue的博物馆展览与服务一体化平台-java博物馆数字化展品展示与交互平台设计
java·vue.js·spring boot·spring·毕业设计·javaweb·课程设计
guo_wen_qiang3 小时前
项目使用sentinel遇到的问题
java·sentinel