Given the head of a linked list, remove the nth node from the end of the list and return its head.
Example 1:

Input: head = [1,2,3,4,5], n = 2 Output: [1,2,3,5]
Example 2:
Input: head = [1], n = 1 Output: []
Example 3:
Input: head = [1,2], n = 1 Output: [1]
Constraints:
- The number of nodes in the list is sz.
- 1 <= sz <= 30
- 0 <= Node.val <= 100
- 1 <= n <= sz
Follow up: Could you do this in one pass?
class Solution:
    def removeNthFromEnd(self, head, n):
        k = 0
        ptr = head
        while ptr.next != None:
            k = k + 1
            ptr = ptr.next
        ptr = head
        if k==n-1:
            return head.next
        else:
            for _ in range(k-n):
                ptr = ptr.next
            temp = ptr.next
            ptr.next = temp.next
        return head









