Description
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
示例:
给定一个链表: 1->2->3->4->5, 和 n = 2.
当删除了倒数第二个节点后,链表变为 1->2->3->5.
说明:
给定的 n 保证是有效的。
Solution
链表问题一定要增加头节点。
class Solution:
def removeNthFromEnd(self
, head
: ListNode
, n
: int) -> ListNode
:
dummy
= ListNode
(-1)
dummy
.next = head
l
= r
= dummy
for _
in range(n
):
r
= r
.next
while r
.next:
l
= l
.next
r
= r
.next
l
.next = l
.next.next
return dummy
.next