- 博客(4)
- 收藏
- 关注
原创 代码随想录训练营第四天|24.两两交换链表的节点 19.删除链表的倒数第N个节点 160. 链表相交
1. fast首先走n + 1步 ,为什么是n+1呢,因为只有这样同时移动的时候slow才能指向删除节点的 上 一个节点(方便做删除操作)。双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。指针 A 先遍历完链表 headA ,再开始遍历链表 headB ,当走到 node 时,共走步数为:a+(b−c)指针 B 先遍历完链表 headB ,再开始遍历链表 headA ,当走到 node 时,共走步数为:b+(a−c)
2023-04-24 16:43:11
66
1
原创 代码随想录训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表
1.直接使用原来的链表来进行删除操作。2.设置一个虚拟头结点在进行删除操作。需要注意以下问题:1.内存分配与释放2.链表的遍历3.第0个和最后一个节点怎么处理4.链表构造,怎么挂链本题不仅用双指针还可以用递归法来解题。递归法相对抽象一些,但是其实和双指针法是一样的逻辑,同样是当cur为空的时候循环结束,不断将cur指向pre的过程。讲解视频帮你拿下反转链表 | LeetCode:206.反转链表 | 双指针法 | 递归法_哔哩哔哩_bilibili。
2023-04-21 23:57:27
74
2
原创 代码随想录第二天|977.有序数组的平方、209.长度最小的子数组
最大的数一定在两边,所以用双指针从两边开始遍历,将更大的放到新数组的最后在看了carl老师的讲解视频后,对此题应用双指针的解法有了更深的理解。「代码随想录」滑动窗口精讲!- 长度最小的子数组 - 力扣(LeetCode)
2023-04-20 19:15:11
74
2
原创 代码随想录训练营第一天|704.二分查找、27.删除元素
二分查找看起来很简单,但是还是有很多小细节需要注意。对于诸如「相同元素最多保留 k 位元素」或者「移除特定元素」的问题,更好的做法是从题目本身性质出发,利用题目给定的要求提炼出具体的「保留逻辑」,将「保留逻辑」应用到我们的遍历到的每一个位置。
2023-04-19 20:28:39
304
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人