Skip to content

Commit

Permalink
Merge pull request #2547 from avi-pal/master
Browse files Browse the repository at this point in the history
Added a java program to reverse a linked list
  • Loading branch information
fineanmol authored Oct 5, 2022
2 parents 3c1ff67 + 4b192e7 commit f4e1cce
Showing 1 changed file with 58 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Java program for reversing the linked list

class Reverse_Linked_List {

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;
}
}

// Driver Code
public static void main(String[] args) {
Reverse_Linked_List list = new Reverse_Linked_List());
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);
}
}

// This code has been contributed by Mayank Jaiswal

0 comments on commit f4e1cce

Please sign in to comment.