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

要点

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

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

相关推荐
南汐以墨12 小时前
UI自动化测试指南(一):浅解概念
java·测试工具
only-qi12 小时前
LeetCode 148. 排序链表
算法·leetcode·链表
smj2302_7968265212 小时前
解决leetcode第3791题.给定范围内平衡整数的数目
python·算法·leetcode
不能只会打代码12 小时前
力扣--1970. 你能穿过矩阵的最后一天(Java)
java·算法·leetcode·二分查找·力扣·bfs·最后可行时间
少年执笔13 小时前
android新版TTS无法进行语音播报
android·java
光明西道45号13 小时前
Leetcode 15. 三数之和
数据结构·算法·leetcode
咸鱼2.013 小时前
【java入门到放弃】数据结构
java·开发语言·数据结构
啊西:13 小时前
SuperMap iObjects Java地图生成栅格瓦片并保存到mongodb
java·开发语言·mongodb
教练、我想打篮球13 小时前
125 如何运行时实时切换数据库(实时切换影子库)
java·spring·shadow·datasource
毕设源码-赖学姐13 小时前
【开题答辩全过程】以 “实惠”药房管理系统为例,包含答辩的问题和答案
java