reverseLinkedList<T> function

LinkedListNode<T>? reverseLinkedList<T>(
  1. LinkedListNode<T>? head
)

Helper function to reverse a linked list

head - The head of the linked list to reverse Returns the new head of the reversed linked list

Implementation

LinkedListNode<T>? reverseLinkedList<T>(LinkedListNode<T>? head) {
  LinkedListNode<T>? prev;
  LinkedListNode<T>? current = head;
  LinkedListNode<T>? next;

  while (current != null) {
    next = current.next;
    current.next = prev;
    prev = current;
    current = next;
  }

  return prev;
}