![cover](https://img-blog.csdnimg.cn/50d346913d73475fba87dc2a358ab2d0.png)
相同的树(简单难度),GitHub已标星16k
示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false题目链接:点我进入leetcode思路与代码====================================================================思路展现这道题目的思路同样是使用递归来进行1:首先进行根节点的判断,如果一颗树的根节点为空,一棵树的根节点不为空,就说明这两棵树并不相等,直
示例 3:
输入:p = [1,2,1], q = [1,1,2]
输出:false
题目链接:
====================================================================
这道题目的思路同样是使用递归来进行
1:首先进行根节点的判断,如果一颗树的根节点为空,一棵树的根节点不为空,就说明这两棵树并不相等,直接返回false即可.
2:如果两棵树的根节点都为空,两者相等,返回true
3:如果两棵树的对应的节点位置处的val值并不相等,直接返回false即可
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
//假设此时两棵二叉树对应的节点一个为空,一个不为空,则返回false
if(p == null && q != null || p != null && q == null) {
return false;
}
/*
此处的代码适用于两种情况:
1:一开始两棵树的根节点为空,说明这两棵树都是空的,相等返回true.
2:当递归到两棵树对应的叶子节点的左子树和右子树的时候,说明这两棵树对应的叶子节点是相等的,但当其左右子树都为空,此时也应该返回true.
*/
if(p == null && q == null) {
return true;
}
//注意这里不要写==,因为写了就直接return true后,函数就不递归了
if(p.val != q.val) {
return false;
}
return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
更多:Java进阶核心知识集
包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
高效学习视频
DB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等
[外链图片转存中…(img-JbA9KswV-1711183640662)]
高效学习视频
更多推荐
所有评论(0)