19. 删除链表的倒数第 N 个结点
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def removeNthFromEnd(self, head, n):
dummy_head = ListNode(next=head)
slow,fast = dummy_head,dummy_head
while n:
n -= 1
fast = fast.next
fast = fast.next # fast再提前走一步,因为需要让slow指向删除节点的上一个节点
while fast != None:
fast = fast.next
slow = slow.next
slow.next = slow.next.next
return dummy_head.next