LeetCode-19-删除链表的倒数第N个结点
题目
给你一个链表,删除链表的倒数第 n
个结点,并且返回链表的头结点。
示例 1:
1 | 输入:head = [1,2,3,4,5], n = 2 |
示例 2:
1 | 输入:head = [1], n = 1 |
示例 3:
1 | 输入:head = [1,2], n = 1 |
提示:
- 链表中结点的数目为
sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz
**进阶:**你能尝试使用一趟扫描实现吗?
题解
这一题其实思路是很清晰了,就是双指针或者快慢指针,让前指针和后指针之间的差值为n,然后再一起移动,直到start
到最后就好了。
因为没有添加头指针导致操作会不一致,orz
关键添加一个头指针pre
在head
的前面,这样可以统一操作!
然后前面的指针start
先移动n步;
然后前后指针start
,end
一起移动,直到start
移动到最后。
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Excelius's World!