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

相同的树算法

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

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

示例 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] 内
  • -104 <= Node.val <= 104
/**
 * 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 {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        return cycleTree(p, q);
    }

    public boolean cycleTree(TreeNode p, TreeNode q) {
        boolean flag = true;
        if ((p == null && q != null) || (p != null && q == null)) {
            return false;
        }

        if (p != null && q != null) {
            if (p.val == q.val) {
                flag = cycleTree(p.left, q.left);
                if (!flag) {
                    return flag;
                }
                flag = cycleTree(p.right, q.right);
            } else {
                return false;
            }
        }
        return flag;
    }
}


http://www.kler.cn/news/359842.html

相关文章:

  • 手机ip地址怎么切换城市
  • Zookeeper 快速入门到实战
  • VAS1802奇力线性芯片LED驱动芯片车规认证AEC-Q100
  • 深度学习-模型部署
  • python 爬虫 入门 四、线程,进程,协程
  • Go 切片详解
  • 智能安全配电装置在老旧建筑防火中的应用
  • 解决Git合并冲突:掌握版本控制的精髓
  • (计算机毕设)基于SpringBoot的就业平台开题报告
  • MATLAB | 绘图复刻(十八) | K-means 聚类分组热图
  • 【MySQL数据库】MySQL高级语句(SQL语句进阶版)
  • Hive优化:Hive的执行计划、分桶、MapJoin、数据倾斜
  • 大模型输出的outputs为什么要取[0](即outputs[0])
  • STM32G4系列MCU的启动项配置
  • CIM系统:智慧城市的数字基石
  • 鸿蒙--进度条通知
  • Springboot+vue图书商城购物系统【附源码】
  • 列表(list)、元组(tuple)、字典(dictionary)、array(数组)-numpy、DataFrame-pandas 、集合(set)
  • Python知识点:基于Python技术和工具,如何使用Chainlink进行链下数据访问
  • 01 Druid未授权错误及解决方案