Concept Flow - Reverse a Doubly Linked List
Start at head node
Swap node.prev and node.next
Move to node.prev (old next)
Repeat until node is null
Update head to last processed node
We start at the head, swap the previous and next pointers of each node, move forward using the old next pointer, and finally update the head to the last node processed.
