← Notes / DSA Patterns

Pattern 1: 5. Reverse Linked List – Linked List

DSA Patterns

Description: Reverse a singly linked list.

Java

public ListNode reverseList(ListNode head)
{ ListNode prev = null;
while (head != null)
{ ListNode next =
head.next; head.next =
prev;
prev = head;
head = next;
}
return prev;
}

C++: cpp ListNode* reverseList(ListNode* head) { ListNode* prev = nullptr; while (head) { ListNode* next = head->next; head->next = prev;

prev = head; head = next; } return prev; }

Python

def reverseList(head):
prev = None
while head:
nxt = head.next

head.next = prev prev = head head = nxt return prev

Report an issue with this note