看一百遍美女,美女也不一定是你的。但你刷一百遍算法,知识就是你的了~~
谁能九层台,不用累土起。
题目
给你一个链表,删除链表的倒数第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
- 当快指针到达尾结点时,慢指针刚好到达要删除的结点
- 将慢指针的下个节点指向要删除节点的后置节点便可完成删除
解题代码
1 | var removeNthFromEnd = function(head, n) { |