From 406c69836751a57d312de366888f3cc846a412eb Mon Sep 17 00:00:00 2001 From: ChiragBagla <005chirag@gmail.com> Date: Sat, 13 Oct 2018 23:32:05 +0530 Subject: [PATCH] reverse a linked list --- algorithms/reverseLinkedList.java | 56 +++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 algorithms/reverseLinkedList.java diff --git a/algorithms/reverseLinkedList.java b/algorithms/reverseLinkedList.java new file mode 100644 index 00000000..0e4bdace --- /dev/null +++ b/algorithms/reverseLinkedList.java @@ -0,0 +1,56 @@ +import java.util.LinkedList; + +public class reverseLinkedList { + + + static Node head; + + static class Node { + + int data; + Node next; + + Node(int d) { + data = d; + next = null; + } + } + + /* Function to reverse the linked list */ + Node reverse(Node node) { + Node prev = null; + Node current = node; + Node next = null; + while (current != null) { + next = current.next; + current.next = prev; + prev = current; + current = next; + } + node = prev; + return node; + } + + // prints content of double linked list + void printList(Node node) { + while (node != null) { + System.out.print(node.data + " "); + node = node.next; + } + } + + public static void main(String[] args) { + LinkedList list = new LinkedList(); + list.head = new Node(85); + list.head.next = new Node(15); + list.head.next.next = new Node(4); + list.head.next.next.next = new Node(20); + + System.out.println("Given Linked list"); + list.printList(head); + head = list.reverse(head); + System.out.println(""); + System.out.println("Reversed linked list "); + list.printList(head); + } +}