🐟 Blog

Reverse Linked List

February 11, 2021

Given the head of a singly linked list, reverse the list, and return the reversed list.

Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]

Recursive Method

public ListNode reverse(ListNode head) {
  if (head == null || head.next == null) {
    return head;
  }
  ListNode newHead = reverse(head.next);  head.next.next = head;
  head.next = null;
  return newHead;
}
12345reverse12345reverse12345reverse12345reverse12345reverse12345reverse12345reverse12345reverse12345reverse
Recursive call trace.

© 2021 yujinyan.me