题目:
剑指 Offer II 021. 删除链表的倒数第 n 个结点.md
思想:
双指针(滑动窗口算法)。
在这个方法中,我们首先创建了一个虚拟头结点 dummy,并将其指向原来的头结点 head。
然后我们使用两个指针 fast 和 slow,将 fast 指针向前移动 n 步。
接下来,我们同时移动 fast 和 slow 指针,直到 fast 指针到达链表的末尾。
此时,slow 指针指向倒数第 n+1 个节点,我们将其 next 指针指向 slow.next.next,从而删除倒数第 n 个节点。
最后,我们返回虚拟头结点的 next 指针,它指向删除倒数第 n 个节点后的链表的头结点。
一开始完全按照C的链表做的
代码:
1 | class Solution: |
1 | class Solution: |