19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
进阶:你能尝试使用一趟扫描实现吗?
示例 1:
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]
解析
快慢指针解决
class Solution123 {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode delNode = head;
ListNode retNode = head;
while (head.next != null) {
if(n <= 0) delNode = delNode.next;
head = head.next;
n--;
}
if(n == 1) return retNode.next;
delNode.next = delNode.next.next;
return retNode;
}
}
注意:本文归作者所有,未经作者允许,不得转载