LinkedList/reverse_linked_list library

🔄 Reverse Linked List Algorithms

Algorithms for reversing linked lists in-place efficiently. Includes both iterative and recursive approaches for singly linked lists and specialized handling for doubly linked lists.

Time Complexity: O(n) where n is the length of the list Space Complexity: O(1) for iterative, O(n) for recursive

Functions

reverseBetween<T>(LinkedListNode<T>? head, int left, int right) → LinkedListNode<T>?
Reverses the nodes between two positions (inclusive)
reverseDoublyLinkedList<T>(DoublyLinkedListNode<T>? head) → DoublyLinkedListNode<T>?
Reverses a doubly linked list
reverseInGroups<T>(LinkedListNode<T>? head, int k) → LinkedListNode<T>?
Reverses a linked list in groups of specified size
reverseLinkedList<T>(LinkedListNode<T>? head) → LinkedListNode<T>?
Reverses a singly linked list iteratively
reverseLinkedListRecursive<T>(LinkedListNode<T>? head) → LinkedListNode<T>?
Reverses a singly linked list recursively