题目描述
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
1 | 示例: |
当删除了倒数第二个节点后,链表变为 1->2->3->5.
给定的 n 保证是有效的。
进阶:
你能尝试使用一趟扫描实现吗?
题目分析
既然没有给链表的长度, 一个指针是没法用一边扫描实现的. 所以用两个指针, 一开始两个指针slow和fast都指向头结点, 让fast指针先走n步, 之后两个指针一起走, 在fast到NULL时候,
源码
1 |
|
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
1 | 示例: |
当删除了倒数第二个节点后,链表变为 1->2->3->5.
给定的 n 保证是有效的。
进阶:
你能尝试使用一趟扫描实现吗?
既然没有给链表的长度, 一个指针是没法用一边扫描实现的. 所以用两个指针, 一开始两个指针slow和fast都指向头结点, 让fast指针先走n步, 之后两个指针一起走, 在fast到NULL时候,
1 | #include<bits/stdc++.h> |