206. Reverse Linked List

Reverse a singly linked list.

Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

Follow up:

A linked list can be reversed either iteratively or recursively. Could you implement both?

def reverse_list(head)
    current = head
    new_list = nil
  
    while(current) do
      new_list, new_list.next, current = current, new_list, current.next
    end
  
    return new_list
end

Last updated

Was this helpful?