首页 > 编程语言 >【数据结构和算法实践-树-LeetCode100-判断是否是相同的树】

【数据结构和算法实践-树-LeetCode100-判断是否是相同的树】

时间:2024-09-04 13:24:43浏览次数:15  
标签:null return 相同 示例 是否是 right LeetCode100 数据结构 节点

数据结构和算法实践-树-LeetCode100-判断是否是相同的树

题目

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

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例
输入:p = [1,2,3], q = [1,2,3]
输出:true

My Thought

题目给定的是二叉树,结合示例,故要做三个判断:
一、当前节点的val是否一致
二、当前节点的left是否一致
三、当前节点的right是否一致
然后再进行递归,递归要注意两个方面:
一、自我调用
二、终止条件:即函数边界

注意点:树、递归

代码示例

JAVA-8

public boolean isSameTree(TreeNode p, TreeNode q) {
        boolean sameTreeFlag = false;
        if (p == null && q == null) {
            return true;
        }
        if (p == null || q == null) {
            return false;
        }
        if (p.val == q.val && isSameTree(p.left, q.left) && isSameTree(p.right, q.right)) {
            sameTreeFlag = true;
        }
        return sameTreeFlag;
    }

标签:null,return,相同,示例,是否是,right,LeetCode100,数据结构,节点
From: https://blog.csdn.net/Mao_c/article/details/141858880

相关文章

  • 【数据结构和算法实践-链表-LeetCode23-合并K个有序数组】
    合并K个有序数组题目MyThought代码示例JAVA-8题目合并K个有序数组MyThought一、将ListNode放入PriorityQueue中1.1、设置PriorityQueue的比较器规则1.2、将ListNode[]放入priorityQueue二、再将数据依次弹出放到ListNode中代码示例JAVA-8publicListNod......
  • Python 默认列表(Default List):一种灵活的数据结构
    Python中的默认列表(DefaultList)是一种特殊的数据结构,它允许我们创建一个包含特定元素类型的列表,并在需要时动态地添加或删除元素。这种灵活性使得默认列表成为了处理一些不确定或变化的数据的有力工具。创建列表时指定元素类型在Python中,我们可以在创建列表时指定元素类型,如果......
  • C++ 数据结构——二叉树(最最最最最实用的二叉树教程)
    本文章以实用为主,所以不多废话直接开整本文所介绍的二叉树是最基础的二叉树,不是二叉搜索树,也不是平衡二叉树,就基本的二叉树若需要Python版,请跳转到 Python数据结构——二叉树(最最最最最实用的二叉树教程)二叉树的构建二叉树为一个父节点连接到两个子节点,若还要加入新的......
  • 数据结构基本概念
    组织存储数据--->内存程序=数据结构+算法定义:一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,并在此基础上实现某个特定的功能的操作数据与数据之间的关系:数据的逻辑结......
  • Redis数据结构:Zset类型全面解析
    Redis数据结构:Zset类型全面解析Redis,作为一种高性能的键值对数据库,因其丰富的数据类型和高效的性能而受到了广泛的关注和使用。在Redis的五种主要数据类型中,Zset(有序集合)类型可能是最复杂,但也是最强大的一种。Zset不仅可以存储键值对,还可以为每个元素分配一个分数,然后根......
  • 【数据结构与算法】:十大经典排序算法
    文章目录前言一、冒泡排序(BubbleSort)1.1冒泡排序原理1.2冒泡排序代码1.3输出结果二、选择排序(SelectionSort)2.1选择排序原理2.2选择排序代码2.3输出结果三、插入排序(InsertionSort)3.1插入排序原理3.2插入排序代码3.3输出结果四、希尔排序4.1希尔排序原......
  • 2024杭电多校08-1008《cats 的数据结构》
    题目链接Problem-7524分析:我们发现最重要的一个条件是:父节点的ai,bi都会比子节点的ai,bi(对应)大。那么单独考虑ai,可以发现,按dfs序是可以办到“父——>子”这一过程的。题目又限制父子节点关系和ai,bi大小关系是充要条件,那么不能把A的儿子ai,bi设的“太小”使其错误地......
  • 算法与数据结构——二叉树数组表示
    二叉树数组表示在链表表示下,二叉树的存储单元为节点TreeNode,节点之间通过指针相连接。同前面的队列或栈,二叉树同样可以使用数组来表示。表示完美二叉树给定一棵完美二叉树,我们将所有节点按照层序遍历的顺序存储在一个数组中,则每个节点都对应唯一的数组索引。按照层序遍历的特......
  • OpenHarmony 实战开发——内核IPC机制数据结构解析
    一、前言OpenAtomOpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。作为面向全场景、全连接、全智能......
  • [数据结构] 循环队列
    front:头指针rear:尾指针maxsize:数组长度循环队列通常会让留空数组中的一位,区分队列为空和队列为满的状态。入队移动rear,出队移动front。形式1(默认):front指向队头元素的前一位,而rear指向队尾元素。队列为空:front==rear队列为满:front==(rear+1)%maxsize元素个数:(r......