Python concise one-pass solution with dummy head.
\n    def removeNthFromEnd(self, head, n):\n        fast = slow = dummy = ListNode(0)\n        dummy.next = head\n        for _ in xrange(n):\n            fast 
\n    def removeNthFromEnd(self, head, n):\n        fast = slow = dummy = ListNode(0)\n        dummy.next = head\n        for _ in xrange(n):\n            fast = fast.next\n        while fast and fast.next:\n            fast = fast.next\n            slow = slow.next\n        slow.next = slow.next.next\n        return dummy.next
['Two Pointers', 'Python']