-
Notifications
You must be signed in to change notification settings - Fork 0
/
Day 25.java
91 lines (86 loc) · 2.03 KB
/
Day 25.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import java.util.*;
class Node{
int data;
Node next;
Node(int d){
data=d;
next=null;
}
}
class Solution
{
public static Node removeDuplicates(Node head) {
if(head==null)
{
return head;
}
else if(head.next==null||(head.data==head.next.data&&head.next.next==null))
{
head.next=null;
return head;
}
else
{
Node ptr;
for(ptr=head;ptr.next!=null;)
{
Node k=ptr.next;
if(ptr.data==k.data)
{
while(k.data==ptr.data)
{
k=k.next;
if(k==null)
{
break;
}
}
ptr.next=k;
continue;
}
else
{
ptr=ptr.next;
}
}
return head;
}
}
public static Node insert(Node head,int data)
{
Node p=new Node(data);
if(head==null)
head=p;
else if(head.next==null)
head.next=p;
else
{
Node start=head;
while(start.next!=null)
start=start.next;
start.next=p;
}
return head;
}
public static void display(Node head)
{
Node start=head;
while(start!=null)
{
System.out.print(start.data+" ");
start=start.next;
}
}
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
Node head=null;
int T=sc.nextInt();
while(T-->0){
int ele=sc.nextInt();
head=insert(head,ele);
}
head=removeDuplicates(head);
display(head);
}
}