# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: dummy = ListNode(0) dummy.next = head pre, cur = dummy, dummy for _ in range(n): pre = pre.next while pre.next is not None: pre = pre.next cur = cur.next cur.next = cur.next.next if cur.next is not None else None return dummy.next
# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def getKthFromEnd(self, head: ListNode, k: int) -> ListNode: if head.next is None or k == 0: return head i = 0 pre = cur = head while pre is not None: if k > i: i += 1 pre = pre.next else: pre = pre.next cur = cur.next return cur if k == i else None