
import
java.io.*;
import
java.lang.*;
import
java.util.*;
class
GFG {
static
String removeAdjacent(String s)
{
if
(s.length() ==
1
)
return
s;
StringBuilder sb =
new
StringBuilder(
""
);
for
(
int
i =
0
;
i < s.length() -
1
; i++) {
char
c = s.charAt(i);
char
d = s.charAt(i +
1
);
if
(c != d) {
sb.append(c);
if
(i == s.length() -
2
) {
sb.append(d);
}
}
else
{
for
(
int
j = i +
2
;
j < s.length(); j++)
sb.append(s.charAt(j));
return
sb.toString();
}
}
return
sb.toString();
}
public
static
void
reduceString(String s)
{
String result =
""
;
String pre = s;
while
(
true
) {
result = removeAdjacent(pre);
if
(result.equals(pre))
break
;
pre = result;
}
if
(result.length() !=
0
)
System.out.println(result);
else
System.out.println(
"Empty String"
);
}
public
static
void
main(String[] args)
{
String S =
"aaabccddd"
;
reduceString(S);
}
}
0 comments:
Post a Comment