< Back




206. Reverse Linked List

Reverse a linked list.

The solution is as follows:


  class Solution:
      def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
          curr = head
          prev = None

          while curr:
              temp = curr.next
              curr.next = prev
              prev = curr
              curr = temp

          return prev


_ Time Complexity:

  O(n) - We traverse all nodes within the linked list.

_ Space Complexity:

  O(1) - We maintain three pointers, curr, prev, and temp.