自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode116. 填充每个节点的下一个右侧节点指针

【代码】leetcode116. 填充每个节点的下一个右侧节点指针。

2023-04-10 10:24:52 98 1

原创 leetcode94. 二叉树的中序遍历

【代码】leetcode94. 二叉树的中序遍历。

2023-02-14 15:53:07 106

原创 leetcode145. 二叉树的后序遍历

然后再reverse->

2023-02-14 15:51:59 98

原创 leetcode144. 二叉树的前序遍历

【代码】leetcode144. 二叉树的前序遍历。

2023-02-14 15:50:56 90

原创 leetcode347. 前 K 个高频元素

nums [ ] int } // 创建堆(小根) func NewMyHeap() * Myheap {nums : make([ ] int , 1) , //这里很关键,提前把nums[0] = 0设置好了,好让下面根节点从1开始 ,这点很关键 } } func(this * Myheap) Push(val int) {

2023-02-10 10:27:28 277

原创 leetcode239. 滑动窗口最大值

两层for循环,不再演示。

2023-02-08 15:45:28 331

原创 leetcode150. 逆波兰表达式求值

在上一篇文章中提到了 递归就是用栈来实现的。所以这一点我们在后续讲解二叉树的时候,会更详细的讲解到。那么来看一下本题,。大家可以把运算符作为中间节点,按照后序遍历的规则画出一个二叉树。但我们没有必要从二叉树的角度去解决这个问题,只要知道逆波兰表达式是用后序遍历的方式把二叉树序列化了,就可以了。在进一步看,本题中每一个子表达式要得出一个结果,然后拿这个结果再进行运算,那么,和中的对对碰游戏是不是就非常像了。

2023-02-08 09:41:58 250

原创 leetcode20. 有效的括号

若是右括号,且stack不为空(为空说明右括号多,返回false),与栈顶元素做匹配,匹配上就出栈(匹配不上返回false),若不为空说明左括号多,返回false。

2023-02-07 10:37:31 143

原创 leetcode剑指 Offer 58 - II. 左旋转字符串

【代码】leetcode剑指 Offer 58 - II. 左旋转字符串。

2023-02-03 08:27:48 54

原创 leetcode151. 反转字符串中的单词

小细节:每次fast指向新的字母时slow就要先空出一个空格,slow指向第0个位置时除外。这里把反转抽象成一个函数。就是引用传递,底层数组会直接跟着变化。将缩短后的ss全部反转。代码很妙,细细体会学习。

2023-02-02 21:49:08 65

原创 leetcode剑指 Offer 05. 替换空格

从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素向后移动。需要再加一个for循环。其实很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作。有同学问了,为什么要从后向前填充,从前向后填充不行么?

2023-02-01 21:03:42 64

原创 leetcode541. 反转字符串 II

这样写起来代码比较长,反转那一部分核心代码是重复的,只是。具体思路很简单,就是分类有点多,核心的反转代码和。总长度l大于2k,剩余的>=k,这种情况时,初始值不同,可以拿出来写一个函数,然后调用。,多循环一轮,把剩余的前k个再反转一下。一样,只是修改一下参数的初始值。

2023-02-01 15:38:27 55

原创 leetcode344. 反转字符串

【代码】leetcode344. 反转字符串。

2023-02-01 15:37:47 56

原创 leetcode18. 四数之和

这属于编程时的细节之处,找bug时不好找啊。但题目中有几处细节需要注意。

2023-01-31 21:40:04 68

原创 leetcode15. 三数之和

【代码】leetcode15. 三数之和。

2023-01-31 14:24:43 83

原创 leetcode454. 四数相加 II

虽说是经典哈希表问题,但一开始确实不太能想到用哈希表来做,直接就是暴力。题目对应的方法,这种感觉,还是要多培养,慢慢形成映射。首先想到的肯定是四个for循环,显然时间复杂度n^4。若分为1组和3组,则显然时间复杂度n^3。还没做到,这里先不管。

2023-01-30 22:52:37 38

原创 leetcode202. 快乐数

题目中说了会,那么也就是说求和的过程中,sum会重复出现,这对解题很重要!当我们遇到了要了。所以这道题目使用哈希法,来判断这个sum是否重复出现,如果重复了就是return false, 否则一直找到sum为1为止。还有一个难点就是求和的过程,如果对取数值各个位上的单数操作不熟悉的话,做这道题也会比较艰难。

2023-01-29 15:57:08 42

原创 leetcode350. 两个数组的交集 II

由于题目限定了[1,1000],所以直接定义一个1000的数组即可,如果没有限定,则不能使用数组,造成资源浪费。

2023-01-29 15:56:05 33

原创 leetcode349.两个数组的交集

由于题目限定了[1,1000],所以直接定义一个1000的数组即可,如果没有限定,则不能使用数组,造成资源浪费。

2023-01-29 15:55:24 37

原创 leetcode438. 找到字符串中所有字母异位词

上述解法有两处行不通1.由于匿名函数的原因,这个写法不可行。在上面那段代码中,需要排序的slice是s_byte,对于slice中的第i或者第j个元素,less function直接对s_byte[i]和s_byte[j]进行比较操作;而在下面那段代码中,需要排序的slice是,对于slice中的第i或者第j个元素,less function 仍然是对s_byte[i]和s_byte[j]进行比较操作。实际上,less function应该比较的对象是和。此处详见。

2023-01-28 14:53:22 64

原创 leetcode49. 字母异位词分组

1.将str中的字母变成[]byte,然后再按照ascii码顺序进行排序。3,再写入一个二维数组切片[][]string,并返回。value是和index具有相同字母的所有字符串。,也就是按ascii码排好顺序的字符串。2.map中:index是字符串的。怎么把具有相同字母的字符串归类。

2023-01-25 15:53:55 26

原创 leetcode383. 赎金信

同。

2023-01-25 15:51:50 39

原创 leetcode242. 有效的字母异位词

a对应ascii码为97,26个小写英文字母对应的ascii码 减去。for循环中,r是int32类型也就是rune类型。正好对应数组中0-25。

2023-01-25 15:49:39 28

原创 leetcode142. 环形链表 II

​​。

2023-01-25 15:48:33 33

原创 leetcode160. 相交链表

【代码】leetcode160. 相交链表。

2023-01-24 21:38:03 29

原创 leetcode19. 删除链表的倒数第 N 个结点

【代码】leetcode19. 删除链表的倒数第 N 个结点。

2022-12-18 10:38:37 37

原创 leetcode 24. 两两交换链表中的节点

【代码】leetcode 24. 两两交换链表中的节点。

2022-12-18 10:38:26 37

原创 leetcode206. 反转链表

【代码】leetcode206. 反转链表。

2022-12-18 10:37:52 31

原创 leetcode707. 设计链表

【代码】leetcode707. 设计链表。

2022-12-15 18:23:06 33

原创 leetcode 203. 移除链表元素--基本操作

【代码】leetcode 203. 移除链表元素--基本操作。

2022-12-15 18:22:33 32

原创 leetcode54. 螺旋矩阵

一样,只不过这道更具有普遍性,这个矩阵不一定是正方形矩阵,因此不能根据矩阵的边长来确定终止条件。

2022-12-15 18:21:25 42

原创 leetcode剑指 Offer 29. 顺时针打印矩阵---同54题

【代码】leetcode剑指 Offer 29. 顺时针打印矩阵---同54题。

2022-12-15 18:20:41 43

原创 leetcode59. 螺旋矩阵 II---模拟过程

【代码】leetcode59. 螺旋矩阵 II---模拟过程。

2022-12-15 18:19:31 51

原创 leetcode904. 水果成篮

是 collections 库中的一个函数,可以用来统计一个 python 列表、字符串、元组等可迭代对象中每个元素出现的次数,并返回一个字典。使用 Counter 统计完词频后可以使用。方法来查找出现频率最高的 n 个数字及其出现次数。

2022-12-15 18:18:57 128

原创 leetcode209. 长度最小的子数组---滑动窗口(双指针)

看着好像没什么错,但是找个例子推一遍就会发现问题:如果多次满足。这就是为什么运行测试用例时为什么总是返回0的原因。循环用的妙,倘若不用里面的这个。并没有更新,但却进行了多次的。的条件,此时更新的只是。

2022-12-15 18:18:10 45

原创 leetcode 977. 有序数组的平方---双指针

只能令尾指针一直向左移动,[-5,-3,-2,-1]对于这个实例就无法满足。数组,因为在原地操作很难,无法实现首尾指针同时向中间移动。

2022-12-15 18:17:02 47

原创 leetcode 844. 比较含退格的字符串---双指针

是在每个数组中放一个指针,用于比较两个指针指向的值。多的情况,一种是两个数组都多,一种是只有一个数组多。中该比较的元素,找到后,下面开始比较。,不用返回数组中具体的值,因此。写的有点复杂,有点小难度。

2022-12-12 21:07:33 72

原创 leetcode 283. 移动零---双指针

这样对于[1]这样的数组不成立。写进for循环的极简写法。进行交换时,不能直接把。

2022-12-12 21:06:47 72

原创 leetcode 27.移除元素---双指针

最后一步left已然+1,所以直接返回left即可,无需再+1.解法,思路并不难,主要是体会其中的极简代码写法。从0开始向前游走,遇到。

2022-12-12 21:05:58 66

原创 leetcode 367. 有效的完全平方数---二分

【代码】leetcode 367. 有效的完全平方数---二分。

2022-12-12 21:05:32 38

空空如也

空空如也

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

TA关注的人

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