Java program to reverse linked list in pairs

Previous
Next
There can be two solution for reversing linked list in pairs

  • Iterative
  • Recursive

Iterative:

Logic for this would be:

Explanation:

Lets understand with the help of simple example:
Lets say linkedlist is 5-> 6 -> 7 -> 1
If you look closely, below steps are just reversing link to  6->5->7->1 in first iteration (Swapping node 6 and 5) and then advance to next pair (Node 7 and 1)

You must be wondering why we have put below code:

before swapping two nodes , we need to link nodes properly. When we are swapping 7 and 1 , link between 5->7 will be broken and we need to connect node 5 to node 1.
As per above code , temp will be null in first iteration(swapping node 6 and 5) but when current node is 7, temp will be 6, here we are linking nodes as below
6->5->1->7

Java program for this will be :

Run above program, you will get following output:

Recursive:

Base case: Base case for this would be either node is null or node.next is null
For recursive solution, replace reverseLinkedListInPairs of above program to below function

Output of this program will be same as above program.

Please go through java interview programs for more such programs.

Previous
Next

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.

Add Comment

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.
You can like our facebook page Java2blog