![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
daladalabao
把借口减少一半,把围绕目标的行动增加一倍。付出就会有收获,或大或小,或迟或早
展开
-
leetcode100. 相同的树
链接:https://leetcode.cn/problems/same-tree。函数的输入是两个树节点 p 和 q,函数返回一个布尔值,表示两个树是否相同。给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。输入:p = [1,2], q = [1,null,2]输入:p = [1,2,3], q = [1,2,3]来源:力扣(LeetCode)原创 2023-07-25 19:45:00 · 415 阅读 · 0 评论 -
计算二叉树的最大深度
【代码】计算二叉树的最大深度。原创 2023-07-25 19:15:00 · 406 阅读 · 0 评论 -
java代码实现二叉树的先序、中序、后序和层次遍历的递归和循环迭代方式
【代码】java代码实现二叉树的先序、中序、后序和层次遍历的递归和循环迭代方式。原创 2023-07-19 18:45:00 · 4231 阅读 · 2 评论 -
leetcode 543.二叉树的直径
该算法使用了深度优先搜索的思想,在遍历二叉树的每个节点时,计算以当前节点为根的子树的深度,并更新直径的最大值。在返回上层递归之前,将以当前节点为根的子树的深度返回给上层递归,用于计算祖先节点的直径。原创 2023-06-16 20:00:00 · 73 阅读 · 0 评论 -
leetcode 104.二叉树的最大深度
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。给定一个二叉树,找出其最大深度。原创 2023-06-16 20:00:00 · 49 阅读 · 0 评论 -
java代码实现前序遍历、中序遍历和后序遍历
首先,需要定义一个二叉树节点的类TreeNode。它将包含三个属性:节点值val、左孩子节点left和右孩子节点right。接下来,可以使用递归方法来遍历二叉树并打印出每个节点的值。这里提供三种遍历方式。原创 2023-06-15 21:45:00 · 524 阅读 · 0 评论 -
leetcode 226.翻转二叉树
首先递归交换当前节点的左右子树,并在返回时更新父节点的左右孩子指针。原创 2023-06-15 21:30:00 · 35 阅读 · 0 评论 -
leetcode 101.对称二叉树
思路:使用递归函数 check(left, right),通过比较左、右子树来判断两个节点是否相等。如果两个节点都为空,说明已经检查完毕;如果其中有一个为空,或者它们的值不相等,那么就不是对称二叉树;否则继续递归检查它们的子节点。原创 2023-06-15 20:00:00 · 35 阅读 · 0 评论 -
二叉树的中序遍历
综上,Stack和Deque虽然都是使用Java实现栈的类,但它们具有不同的接口、实现方式和用途,需要根据具体的情况选择合适的类。Java中Deque和Stack都是用于实现栈(stack)数据结构的类,但它们有一些区别。原创 2023-06-15 19:30:00 · 401 阅读 · 0 评论 -
ListNode的常用操作
Java中的ListNode通常表示链表中的节点,可以通过指针指向下一个节点。原创 2023-05-29 20:11:53 · 933 阅读 · 0 评论 -
循环队列的简单操作
思路 ①将front指向数组的第一个元素 ②将rear指向数组的最后一个元素的下一个位置 ③队空条件:rear == front ④队满:(rear+1)% maxSize == 0 ⑤有效个数: 当rear大于front时,循环队列的长度:rear-front 当rear小于front时,循环队列的长度:分为两部分计算 0+rear 和maxSize-front , 将两部分的长度合并到一起即为: rear-front+maxSize代码public cla原创 2020-09-11 20:45:54 · 329 阅读 · 0 评论 -
java的队列操作
队列规定如下:front 为头指针,指向数组中第一个元素的前一个位置rear为尾指针,指向数组的最后一个元素队列为空:rear == front队列是满的: rear == maxSize + 1队列图解(网图):代码:package dateStructure;import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { Ar原创 2020-09-09 15:42:08 · 280 阅读 · 0 评论 -
简单的稀疏数组转换
思路:二维数组转成稀疏数组读取数组中的非0的个数以便创建对应的稀疏数组赋值给第一行(二维数组的行数列数)找到非0值的位置,将值赋给sparseArr数组稀疏数组转成二维数组创建一个数组,读取行数(行为稀疏数组的[0][0],列为[0][1])找到对应的下标进行赋值public class SparseArray { public static void main(String[] args) { int sum = 0; //原始的二维原创 2020-09-08 12:49:21 · 193 阅读 · 0 评论