Remove Nth Node From End of List (LC-0019)
class Solution:
def removeNthFromEnd(self, head, n):
N = 0
temp = head
while temp:
temp, N = temp.next, N + 1
if n == N: return head.next
fwd = head
for ix in range(1 + n):
fwd = None if not fwd else fwd.next
temp = head
while fwd:
fwd = fwd.next
temp = temp.next
if temp and temp.next:
temp.next = temp.next.next
return head