🧩 Swift | 删除链表的倒数第 N 个结点(含详细注释)
在刷算法题时,我们经常会遇到关于链表的题目,而「删除链表的倒数第 N 个节点」是其中一个非常经典的题。今天我们就用 Swift 来实现它,并梳理清楚整个思路。
🧠 一、题目描述
给你一个链表,删除链表的倒数第 n 个结点,并返回链表的头结点。
示例:
输入:1 -> 2 -> 3 -> 4 -> 5
,n = 2
输出:1 -> 2 -> 3 -> 5
🧭 二、解题思路:双指针法
我们希望只遍历一次链表就完成删除操作,因此可以使用 快慢指针(双指针)。
🌟 核心思想:
- 使用一个 虚拟头节点(dummy) 指向链表