Skip to content

Commit 70a8ba3

Browse files
committed
LL2 codes
1 parent 9b41ee1 commit 70a8ba3

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
public class Node<T> {
3+
4+
T data;
5+
Node<T> next;
6+
7+
Node(T data){
8+
this.data = data;
9+
next = null;
10+
}
11+
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import java.util.Scanner;
2+
3+
public class ReverseLL {
4+
5+
6+
public static Node<Integer> reverseR(Node<Integer> head){
7+
if(head == null || head.next == null){
8+
return head;
9+
}
10+
11+
Node<Integer> finalHead = reverseR(head.next);
12+
Node<Integer> temp = finalHead;
13+
while(temp.next != null){
14+
temp = temp.next;
15+
}
16+
temp.next = head;
17+
head.next = null;
18+
return finalHead;
19+
}
20+
21+
public static Node<Integer> takeInput()
22+
23+
{
24+
Node<Integer> head = null, tail = null;
25+
Scanner s = new Scanner(System.in);
26+
int data = s.nextInt();
27+
28+
while(data != -1){
29+
Node<Integer> newNode = new Node<Integer>(data);
30+
if(head == null){
31+
head = newNode;
32+
tail = newNode;
33+
}else{
34+
// Node<Integer> temp = head;
35+
// while(temp.next != null){
36+
// temp = temp.next;
37+
// }
38+
// temp.next = newNode;
39+
tail.next = newNode;
40+
tail = newNode; // tail = tail.next
41+
}
42+
data = s.nextInt();
43+
}
44+
return head;
45+
}
46+
47+
public static void print(Node<Integer> head){
48+
49+
while(head != null){
50+
System.out.print(head.data +" ");
51+
head = head.next;
52+
}
53+
System.out.println();
54+
55+
}
56+
57+
58+
public static void main(String[] args) {
59+
// TODO Auto-generated method stub
60+
Node<Integer> head = takeInput();
61+
head = reverseR(head);
62+
print(head);
63+
64+
}
65+
66+
}

0 commit comments

Comments
 (0)