Skip to main content

Remove Nth Node From End of List - Leetcode 19 - Python


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