自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 力扣刷题攻略链表篇-链表中的双指针技巧(一)

文章内容是自己刷leetcode官方刷题攻略的一些经验与总结。题目链接详见。

2023-05-16 22:14:55 165

原创 力扣刷题攻略链表篇-链表的合并

文章内容是自己刷leetcode官方刷题攻略的一些经验与总结。这篇文章主要讲述了链表的合并,用到了双指针,虚拟头节点,分治等方法。

2023-05-10 19:51:30 236 1

原创 力扣刷题攻略链表篇-链表高精度加法

这篇文章介绍了链表实现高精度加法,分为两种:一种是链表头部存储加数的低位,一种情况是链表头部存储加数的高位。本文提供多种解题思路。

2023-05-07 17:27:38 382 1

原创 力扣刷题攻略链表篇-链表的反转

这篇文章讲述了一些关于链表反转的问题,题目为力扣的206反转链表,92反转链表II,25K个一组翻转链表。使用了虚拟头节点,主要难点是节点的更新问题。

2023-05-04 13:56:30 244 1

原创 力扣刷题攻略链表篇-链表的旋转

这篇文章讲述了力扣上两道链表旋转相关题目,分别是61.旋转链表与24两两交换链表中的节点,用到了虚拟头节点,双指针,链表模拟等知识。

2023-04-30 21:13:42 130 1

原创 力扣刷题攻略链表篇-链表的遍历

这篇文章讲解了力扣430扁平化多级双向链表与114二叉树展开为链表两道问题。

2023-04-26 16:30:10 105 1

原创 力扣刷题攻略链表篇-插入与删除链表元素

这篇文章开始了新的章节链表篇,从最简单的链表元素的插入删除开始,讲述了使用虚拟头指针的技巧,双指针 - 快慢指针的方法。

2023-04-21 15:32:47 215 1

原创 力扣刷题攻略数组篇-前缀和数组

这篇文章讲述了一维的前缀和数组与二维的前缀和数组,最后拓展了一个我自创的前缀积数组与后缀积数组。

2023-04-19 15:55:38 195 1

原创 力扣刷题攻略数组篇-二维数组变换

这篇文章主要讲述了二维数组的一些变换方式。566重塑矩阵告诉我们如何将一个给定矩阵变换成另一个矩阵,48旋转图像讲述了如何将一个矩阵旋转90°等其他角度,73矩阵置零讲述了利用矩阵本身作为标记数组的方法,289生命游戏引入了一种新的思想,用额外的数字代表新的状态。

2023-04-17 08:58:47 315 1

原创 力扣刷题攻略数组篇-特定顺序遍历二维数组

这篇文章介绍了二维数组的特殊遍历方式,涉及到的力扣题目有54螺旋矩阵,59螺旋矩阵II还有498对角线遍历,有螺旋遍历与对角线遍历两种方式。

2023-04-14 21:59:21 149 1

原创 力扣刷题攻略数组篇-二维数组及滚动数组(二)

这篇文章是二维数组及滚动数组的第二的章节,上一个章节是杨辉三角。主要讲述了leetcode中661图片平滑器,598范围求和II,419甲板上的战舰三个问题。其中注意问题的转化很重要。

2023-04-11 23:10:49 162 1

原创 力扣刷题攻略数组篇-二维数组及滚动数组(一)

这篇文章主要讲述了数组篇的杨辉三角部分,用到了滚动数组,线性递推。涉及一些基本的数学知识以及一些推导。

2023-04-10 23:13:11 172 1

原创 力扣刷题攻略数组篇-数组的遍历

文章内容是自己刷leetcode官方刷题攻略的一些经验与总结。

2023-04-09 12:48:41 248 1

原创 二叉搜索树中的众数

利用二叉搜索树的中序遍历递增的性质,我们可以很方便的解决许多问题。在从特殊的二叉搜索树中寻找众数到从一般的二叉树中寻找众数,用到了不同的思路,这与树本身的性质有关,不过核心思想都是统计频率,寻找最大频率。

2023-03-09 11:35:44 77 1

原创 验证二叉搜索树

注意二叉搜索树的定义:节点的值大于左子树的各个节点的值,小于右子树的各个节点的值。不使用数组辅助的话,就要在二叉树的遍历过程中进行节点处理,会用到cur与pre两个指针来记录进行比较,这种方法也很常见。

2023-03-06 19:35:52 78 1

原创 从中序与后序遍历序列构造二叉树

通过此题我们可以知道根据一棵二叉树的中序遍历与后序遍历可以还原出这棵二叉树。那么同样的,给出一颗二叉树的前序遍历与中序遍历也可以还原出二叉树。但是只给出前序遍历和后序遍历无法构造出唯一的一棵二叉树。前序和后序在本质上都是将父节点与子结点进行分离,但并没有指明左子树和右子树的能力,因此得到这两个序列只能明确父子关系,而不能确定一个二叉树。而中序遍历在知道根节点后可以指明左右子树的关系。所以只能根据前序或者后序遍历先确定根节点,然后再利用中序遍历划分左右子树。

2023-03-06 15:09:25 556 1

原创 二叉树的所有路径

在这次题解中,我们用到了回溯,其实递归与回溯是相伴相生的,我会在二叉树的章节更新完成后,开始给大家讲解回溯的相关题目。

2023-03-02 11:17:49 176 1

原创 平衡二叉树

一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。判断平衡二叉树其实是计算机专业课数据结构中的一个知识,需要判断节点左右子树的高度差来判断是否平衡,其中用到了二叉树高度的知识,高度是当前节点到子节点的最远距离,这与我们前面讲过的知识又串了起来。希望可以帮助到大家。

2023-02-27 23:08:34 65 1

原创 完全二叉树的节点个数

在介绍完全二叉树节点个数前先介绍了普通二叉树的节点个数写法,后者还是很容易想到的,把树遍历一遍就好。既然是完全二叉树,就肯定有某些特殊的性质,比如最后一层之上肯定为满二叉树,而满二叉树的节点个数我们知道是用2^(树深度-1)来计算,对于最后一层不是满二叉树的部分,我们进行递归左右子树可以转化成满二叉树问题。

2023-02-25 23:51:03 653 3

原创 二叉树的最大深度与最小深度

二叉树节点的深度:从根节点到该节点的层数距离二叉树结点的高度:从该节点到最下层叶子节点的层数距离那么可以知道根节点的高度就是二叉树的最大深度。今天我们学习了二叉树的深度与高度的相关问题,了解到如何求解二叉树的最大深度与最小深度,最后增加了一个拓展问题:求n叉树的最大深度。其实对于这些问题,递归法与迭代法都是可以完成的,我这里主要给出了递归法的形式,初学者掌握一种已经很棒了。

2023-02-22 20:46:02 534 2

原创 对称二叉树

这道题的终止条件相对而言比较多,需要仔细分析一下。不论递归还是迭代,核心思想都是比较对称位置的节点值是否相同。所以就有了递归中的分层,迭代中每次取出两个节点的思路。

2023-02-20 21:15:12 84

原创 翻转二叉树

因为笔者是初练算法题,所以每道题掌握的解法比较单一,翻转二叉树还可以用迭代的方式来解决,感兴趣的读者可以自行探索。这个题目的思路其实很简单,就是当我们遇到一个节点时,将它的左右孩子交换位置,那么我们可以用递归的思想来做。文章内容是自己刷leetcode题目的一些总结。

2023-02-20 20:47:41 46

原创 二叉树的层序遍历

在之前的文章中,我们介绍了二叉树的递归遍历与迭代遍历,还有迭代遍历的统一写法。今天这篇文章我们来分析二叉树的层序遍历。今天我们总结了二叉树的层序遍历,用到了迭代和递归两种方法。在迭代中用到了队列进行节点的存取,在递归中用深度进行遍历。至此二叉树的遍历方式告一段落。

2023-02-20 20:23:39 52

原创 二叉树的统一迭代写法

在上篇文章二叉树的迭代遍历中我们分析了二叉树的迭代遍历方法,发现前中后序的迭代遍历方法没有一个统一的写法,今天这篇文章我们来解决这个问题,寻找一种统一的迭代写法。二叉树的统一迭代写法中,用到了标记的方法,在要处理的节点入栈后加入一个空指针作为标记,那么在遍历栈(先入后出)的过程中如果遇到了空指针,说明下一个元素就是我们要处理的节点,取出加入到结果中即可。下一篇文章介绍二叉树的层序遍历方式。

2023-02-17 21:57:23 246 4

原创 二叉树的迭代遍历

二叉树的三种递归遍历方式

2023-02-17 21:04:31 791 1

原创 二叉树的递归遍历

二叉树中开始涉及到很多的递归和迭代,因为自己是第一遍刷二叉树的算法题,算法内容可能比较单一,接下来会接着总结二叉树的知识。这是第一次写博客,是自己刷leetcode题目的一些总结吧。文章内容参考公众号:代码随想录。

2023-02-17 20:28:36 127 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除