Given a singly linked list, how do we reverse it by re-arranging the links?
For example if the given linked list is 1 -> 2 -> 3 -> NULL. The output of reverse method should be 3 -> 2 -> 1 -> NULL.
The following diagram shows the simple steps to perform the reversal.
And here is the C++ code which includes both recursive and iterative versions of reversal method.