相同的树——java

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

复制代码
输入:p = [1,2,3], q = [1,2,3]
输出:true

示例 2:

复制代码
输入:p = [1,2], q = [1,null,2]
输出:false

示例 3:

复制代码
输入:p = [1,2,1], q = [1,1,2]
输出:false

解题:如何去判断两棵树相同?根节点相同,左子树相同右子树相同 如果两棵树都为空则它们肯定相同,若一棵树为空则两棵树肯定不相同;若两棵树对应节点都存在且值相同,则两棵树肯定相同。所以要使用递归的思想

java 复制代码
public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p==null && q==null)
          return true;
        else if(p==null &&q!=null)
          return false;
        else if(p!=null && q==null)
          return false;
        else{
            if(p.val==q.val)
            {
                return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
            }
            else
              return false;
        }
 }
相关推荐
逆境不可逃19 小时前
【除夕篇】LeetCode 热题 100 之 189.轮转数组
java·数据结构·算法·链表
xiaoye-duck19 小时前
《算法题讲解指南:优选算法-滑动窗口》--13 水果成篮
c++·算法
wefg119 小时前
【算法】模运算的技巧
算法
智者知已应修善业19 小时前
【冰雹猜想过程逆序输出】2025-4-19
c语言·c++·经验分享·笔记·算法
编程小白_澄映19 小时前
机器学习——特征工程
人工智能·算法·机器学习
美好的事情能不能发生在我身上19 小时前
Leetcode热题100中的:哈希专题
算法·leetcode·哈希算法
wefg119 小时前
【算法】倍增思想(快速幂)
数据结构·c++·算法
Zik----19 小时前
Leetcode24 —— 两两交换链表中的节点(迭代法)
数据结构·算法·链表
SmartBrain19 小时前
通俗讲解:Agent Skill和智能体的技术概念
人工智能·算法
爱喝热水的呀哈喽19 小时前
副产品技法
算法