就,,,很快嗷,直接快慢指针
代码如下:

def removeNthFromEnd(self , head: ListNode, n: int) -> ListNode:
    slow, fast = head, head

    for _ in range(n):          # 遍历,找倒数第 n 个结点
        fast = fast.next

    if not fast:                # 如果 fast 为空,倒数第 n 个结点为头结点
        return head.next        # 返回头结点下一结点即可

    while fast.next:            # 寻找倒数第 n 个结点的前一个结点
        slow = slow.next
        fast = fast.next
    
    slow.next = slow.next.next  # 删除第 n 个结点

    return head

简洁明了