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]
class Solution:
def removeNthFromEnd(self, head: Optional[ListNode], n: int) -> Optional[ListNode]:
d = ListNode (0, head)
l = d
r = head
while n>0 and r :
r = r.next
n -= 1
while r:
l = l.next
r = r.next
#delete
l.next = l.next.next
return d.next
Explaination :
Comments
Post a Comment