- # Definition for singly-linked list.
- # class ListNode:
- #     def __init__(self, x):
- #         self.val = x
- #         self.next = None
- class 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 = None
- class 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