Leetcode刷题
考研与工作刷题的自我记录本
四十四924
这个作者很懒,什么都没留下…
展开
-
Leetcode 24. 两两交换链表中的节点
还是很简单的链表链接问题,不过中间我设置指针翻转的时候还是出了一些问题。值得小心/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(原创 2024-01-23 20:09:25 · 339 阅读 · 1 评论 -
Leetcode 142. 环形链表 II
原来C++中可以直接调用set,方便了许多,解法一的思路较未简单。一开始未看清楚题目条件,以为仅判断是否有循环,于是报错。原创 2024-01-29 18:46:32 · 443 阅读 · 0 评论 -
Leetcode 19. 删除链表的倒数第 N 个结点
王道数据结构经典例题。原创 2024-01-24 17:57:14 · 482 阅读 · 1 评论 -
Leetcode 面试题 02.07. 链表相交
这里意味着只要分别让A和B额外多走一遍B和A,那么必然会走到交叉,注意这里边缘情况是,大家都走到null依然没交叉,那么正好返回null即可。A长度为 a, B长度为b, 假设存在交叉点,此时 A到交叉点距离为 c, 而B到交叉点距离为d。自觉时间复杂度太高,于是去查询有无时间复杂度为O(n)的方法,于是看到一个神中神的。后续交叉后长度是一样的,那么就是 a-c = b-d -> a+d = b+c。之前王道的数据结构中做过,后面忘了,搞了一个双循环做的。原创 2024-01-26 00:04:47 · 354 阅读 · 1 评论 -
Leetcode 707. 设计链表
【代码】Leetcode 707. 设计链表。原创 2024-01-21 00:19:54 · 338 阅读 · 0 评论 -
Leetcode 206. 反转链表
数据结构基础的头插法。原创 2024-01-22 21:34:53 · 418 阅读 · 0 评论 -
Leetcode 203. 移除链表元素
简单总结一下在C++中Null和nullptr的区别:用Null表示空指针是C语言中遗留下来的传统,但在C++中可能会引起问题,因此在C++11中引入了nullptr表示空指针,如果要在C++中表示空指针,那么使用nullptr而不是Null.。这段代码的逻辑上是没有问题的,但是为什么会出现错误呢?这里我想感叹一下C++判断条件的严谨性,这让我这个手写了半年代码的408考生不得不折服。若这两个条件前后位置颠倒了,则会可能去head中找val,但head是空的,此时先考虑head是否为空明显会更加严谨一些。原创 2024-01-17 15:42:40 · 333 阅读 · 0 评论 -
Leetcode 27. 移除元素
王道的数据结构中有类似的题目,初试的时候写算法题刷了34遍,直接秒了。原创 2024-01-13 16:19:43 · 447 阅读 · 1 评论 -
Leetcode 209. 长度最小的子数组
一开始的思路是暴力解,但是遍历两轮觉得还是有点笨了,于是学习了题解思路。中间一个小问题困扰了我半天,就是i++和sum-=nums[i]的顺序反了。调试看反例看了挺久hh。给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。2、C++中int的最大值表示是INT32_MAX。这题总的来学学习到了。原创 2024-01-14 15:05:47 · 323 阅读 · 1 评论 -
Leetcode 59. 螺旋矩阵 II
由于前两天一直在写毕设的东西,配置机器学习的环境和搞数据集还有调试代码,整的我头大。这两天的leetcode题目也懈怠了,自我检讨一下,以后每天还是要保证3-5道左右的Leetcode题目才行,不然要是进了复试但没有好好准备机试,那估计心态都爆炸了。这个代码仅供自己学习。第一次了解C++中的vector如何生成二维数组,这个内容学习到了。所有元素,且元素按顺时针顺序螺旋排列的。原创 2024-01-17 14:09:56 · 557 阅读 · 0 评论 -
Leetcode Problem: 977. 有序数组的平方
我是真没想到C++可以直接Sort,还费劲心思写了一个快排,结果调用接口有问题。又写了一个冒泡,结果跟我说第133个测试用例超时了。由于本人大学并没有C++的学习,但目标院校的复试又是要求C++来写。所以我现在刷LeetCode都用C++来写,提前适应一下加强学习。附加我的2B双指针写法,耗时1333ms.犯蠢了。原创 2024-01-13 16:14:23 · 493 阅读 · 1 评论