DEV Community

SalahElhossiny
SalahElhossiny

Posted on

Reverse LinkedList


class Solution(object):
    def reverseList(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        # If head is empty or has reached the list end
        if head is None or head.next is None:
            return head

        # Reverse the rest list
        rest = self.reverseList(head.next)

        # Put first element at the end
        head.next.next = head
        head.next = None

        # Fix the header pointer
        return rest


Enter fullscreen mode Exit fullscreen mode

Top comments (0)