# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: dummy = ListNode() dummy.next = head
early = dummy while early and n > 0: early = early.next n = n - 1
normal = dummy prev = dummy while early: prev = normal normal = normal.next early = early.next # print(early, normal) prev.next = normal.next del normal return dummy.next