关于链表【力扣19.删除链表的倒数第N个节点的思考】

目录

一、注意思想

二、本题精髓

三、关键思路

四、本题题目和代码

五、注意事项


一、注意思想

1、注意快慢指针的思想不仅可以用在数组,还可以用在链表

2、注意虚拟头节点思想

二、本题精髓

让快指针先走n+1步

三、关键思路

(加入虚拟头节点,快慢指针初始指向虚拟头节点)

1、让快指针先走n+1步

2、然后快慢指针同时向前走(fast指针为空之时,慢指针走到要删除的节点的前一个位置)

3、执行删除操作

四、本题题目和代码

五、注意事项

1、链表类的题目尽可能都用虚拟头节点(因为涉及到一些操作可能会导致当前头节点会变)

// 比如这道题如果要删倒数第5个节点,头节点就变了。

// 用虚拟头节点的话,最后直接返回虚拟头节点的下一个节点就行

//(不需要考虑是否删除的是头节点,方便操作)

2、while(n-- && fast != nullptr)只能保证fast先走n步,后面要手动多走1步

3、觉得自己思路正确,但是运行不过去的时候,回去检查一下是不是有地方漏东西了

相关推荐
老师我太想进步了202610 小时前
【数据结构-6】算法美学之单链表(1)
数据结构·算法
希望我万事顺遂11 小时前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
꧁细听勿语情꧂12 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
是main不是漫12 小时前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱
数据结构·算法·leetcode
饮水桶_T1 天前
JAVA IO流笔记
开发语言·数据结构·算法
Pniubi1 天前
力扣76.最小覆盖子串
算法·leetcode·职场和发展
wo_jack1 天前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list
文丑颜不良啊1 天前
LeetCode2541~2560题目解析
java·leetcode
zaizai10071 天前
算法(左程云)1
数据结构