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

要点

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

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

相关推荐
June bug1 分钟前
(#数组/链表操作)合并两个有重复元素的无序数组,返回无重复的有序结果
数据结构·python·算法·leetcode·面试·跳槽
这周也會开心2 分钟前
SSM 配置 index 页面的实现方式
java·tomcat·springmvc
普贤莲花5 分钟前
取舍~2026年第4周小结---写于20260125
程序人生·算法·leetcode
黎雁·泠崖7 分钟前
Java继承入门:概念+特点+核心继承规则
java·开发语言
sheji341620 分钟前
【开题答辩全过程】以 小区物业管理APP为例,包含答辩的问题和答案
java
苦藤新鸡25 分钟前
39.二叉树的直径
算法·leetcode·深度优先
星辰徐哥31 分钟前
Java程序的编译与运行机制
java·开发语言·编译·运行机制
老毛肚31 分钟前
Spring 6.0基于JDB手写定制自己的ROM框架
java·数据库·spring
Sylvia-girl34 分钟前
线程安全问题
java·开发语言·安全
沛沛老爹42 分钟前
Web开发者转型AI安全实战:Agent Skills敏感数据脱敏架构设计
java·开发语言·人工智能·安全·rag·skills