Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 90429ef

Browse files
first commit
1 parent 7c8e1f2 commit 90429ef

File tree

1 file changed

+151
-0
lines changed

1 file changed

+151
-0
lines changed

‎src/LinkedList.java

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
public class LinkedList {
2+
public class Node{
3+
String data;
4+
Node next;
5+
6+
Node(String data){
7+
this.data = data;
8+
this.next = null;
9+
size ++;
10+
}
11+
}
12+
13+
Node head;
14+
15+
int size;
16+
17+
LinkedList(){
18+
this.size = 0;
19+
}
20+
21+
public void addNodeAtFirst(String data){
22+
Node newNode = new Node(data);
23+
if (head == null){
24+
head = newNode;
25+
return;
26+
}
27+
newNode.next = head;
28+
head = newNode;
29+
}
30+
31+
public void addNodeAtLast(String data){
32+
Node newNode = new Node(data);
33+
if (head == null){
34+
head = newNode;
35+
return;
36+
}
37+
Node currentNode = head;
38+
while (currentNode.next != null){
39+
currentNode = currentNode.next;
40+
}
41+
currentNode.next= newNode;
42+
}
43+
44+
public void deleteFromFirst(){
45+
if (head == null){
46+
System.out.println("The List is empty, Nothing to delete here");
47+
return;
48+
}
49+
size--;
50+
head = head.next;
51+
}
52+
53+
public void deleteFromLast(){
54+
if (head == null){
55+
System.out.println("The List is empty, Nothing to delete here");
56+
return;
57+
}
58+
size--;
59+
if (head.next == null){
60+
head=null;
61+
return;
62+
}
63+
Node secondLast = head;
64+
Node lastNode = head.next;
65+
while (lastNode.next != null){
66+
lastNode= lastNode.next;
67+
secondLast = secondLast.next;
68+
}
69+
secondLast.next = null;
70+
}
71+
72+
public void reverse(){
73+
if (head== null || head.next == null){
74+
return;
75+
}
76+
Node prevNode = head;
77+
Node currentNode = head.next;
78+
while (currentNode!= null){
79+
Node nextNode = currentNode.next;
80+
currentNode.next = prevNode;
81+
prevNode = currentNode;
82+
currentNode = nextNode;
83+
}
84+
head.next=null;
85+
head= prevNode;
86+
}
87+
88+
public Node reserveLL(Node head){
89+
if (head == null){
90+
return null;
91+
}
92+
Node newHead= reserveLL(head.next);
93+
head.next.next = head;
94+
head.next=null;
95+
return newHead;
96+
}
97+
98+
public int getSize(){
99+
return size;
100+
}
101+
102+
public void printList(){
103+
if (head == null){
104+
System.out.println("List is Empty");
105+
return;
106+
}
107+
Node currentNode = head;
108+
while (currentNode!= null){
109+
System.out.print(currentNode.data + " --> ");
110+
currentNode = currentNode.next;
111+
}
112+
System.out.println("Null");
113+
}
114+
115+
public static void main(String[] args) {
116+
LinkedList list = new LinkedList();
117+
list.addNodeAtFirst("is");
118+
list.addNodeAtLast("Kartik");
119+
list.addNodeAtFirst("name");
120+
list.addNodeAtFirst("My");
121+
list.printList();
122+
list.addNodeAtLast("Sharma");
123+
list.printList();
124+
list.deleteFromFirst();
125+
list.printList();
126+
list.deleteFromLast();
127+
list.printList();
128+
list.deleteFromLast();
129+
list.deleteFromFirst();
130+
131+
list.printList();
132+
list.deleteFromFirst();
133+
134+
list.printList();
135+
list.deleteFromFirst();
136+
137+
System.out.println(list.getSize());
138+
139+
list.addNodeAtLast("The");
140+
System.out.println(list.getSize());
141+
list.printList();
142+
list.addNodeAtLast("Ram");
143+
list.addNodeAtFirst("Shyam");
144+
list.addNodeAtFirst("is");
145+
list.printList();
146+
list.reverse();
147+
list.printList();
148+
list.reserveLL(list.head);
149+
}
150+
151+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /