当前位置: 首页 > news >正文

算法-二叉树-判断二叉树是否相等

力扣题目:100. 相同的树 - 力扣(LeetCode)

给你两棵二叉树的根节点 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

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -10^4 <= Node.val <= 10^4

算法如下:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */

class Solution {
    //1.根必须相同,
    //2.左子树右子树必须相同
    public boolean isSameTree(TreeNode p, TreeNode q) {
        //两边都为空 true,结束
        if(p==null&&q==null)
        {
            return true;
        }
       
        //一个为空一个不为空的情况
        if(p==null&&q!=null||p!=null&&q==null)
        {
            return false;
        }
        //只判断个数还不行还得判断值
        if(p.val!=q.val)
        {
            return false;
        }
        //左子树和右子树都要为空
        return isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);
    }
}

相关文章:

  • MATLAB学习之旅:从入门到基础实践
  • 面试题汇总
  • 智慧场馆运营系统
  • 分割 学习笔记cvpr2024
  • Linux-GlusterFS操作子卷
  • 多环境日志管理:使用Logback与Logstash集成实现高效日志处理
  • QT 建立一片区域某种颜色
  • 青龙圣者的训练脚本训练 Flux lora
  • 第1章:LangChain4j的聊天与语言模型
  • 05.Docker 容器命令
  • Python正则表达式学习
  • 【力扣Hot 100】栈2
  • 25届国网计算机考试知识难点及习题整理(持续更新)
  • Ubuntu22.04 - gflags的安装和使用
  • Linux 性能调优简单指南
  • 针对Feign客户端请求体参数处理问题
  • 爱普生 SG-8101CE 可编程晶振在笔记本电脑的应用
  • LangChain大模型应用开发:多模态输入与自定义输出
  • SpringBoot+Vue+Mysql苍穹外卖
  • Leetcode 3455. Shortest Matching Substring
  • ksweb搭建wordpress/单页网站seo优化
  • 企业营销型网站建设图片/seo实战密码电子书
  • 做网站大概需要几个人/网络推广费用一般多少
  • php做自己的网站/百度百科官网登录
  • 网站上传后打不开/品牌推广文案
  • 手机网站开发+图库类/如何申请百度竞价排名