Skip to content

Commit e47cace

Browse files
committed
Adding ReverseLinkedList.java file
1 parent 7224916 commit e47cace

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

ReverseLinkedList.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
class ListNode {
2+
int val;
3+
ListNode next;
4+
5+
ListNode(int val) {
6+
this.val = val;
7+
}
8+
}
9+
10+
public class ReverseLinkedList {
11+
public ListNode reverseList(ListNode head) {
12+
ListNode prev = null;
13+
ListNode current = head;
14+
15+
while (current != null) {
16+
ListNode nextTemp = current.next;
17+
current.next = prev;
18+
prev = current;
19+
current = nextTemp;
20+
}
21+
22+
return prev;
23+
}
24+
25+
public static void main(String[] args) {
26+
// Create a sample linked list: 1 -> 2 -> 3 -> 4 -> 5
27+
ListNode head = new ListNode(1);
28+
head.next = new ListNode(2);
29+
head.next.next = new ListNode(3);
30+
head.next.next.next = new ListNode(4);
31+
head.next.next.next.next = new ListNode(5);
32+
33+
ReverseLinkedList solution = new ReverseLinkedList();
34+
ListNode reversedHead = solution.reverseList(head);
35+
36+
// Print the reversed linked list: 5 -> 4 -> 3 -> 2 -> 1
37+
ListNode current = reversedHead;
38+
while (current != null) {
39+
System.out.print(current.val + " -> ");
40+
current = current.next;
41+
}
42+
System.out.println("null");
43+
}
44+
}

0 commit comments

Comments
 (0)