See the following code to reverse linked list by using Time Complexity O(n) and Space Complexity O(n):-
/**
* Time Complexity O(n)
* Space Complexity O(n)
*/
public Node reverseLinkedList(Node head) {
Node reverseLinkedList = null;
LinkedList linkedList = new LinkedList();
while(head != null) {
reverseLinkedList = linkedList.insertBegin(head.data);
head = head.next;
}
return reverseLinkedList;
}
Output:-
Print LinkedList Data:-
40 5 50 20
After Reversing LinkedList:-
20 50 5 40