将给定的字符串,按照规则删除字符,输出删除后的字符串。删除规则为:相同字符连续,则删除,如”aaaab”删除后的字符串为”b” 。注:仅是单个字符连续才删除,如babababa则不能删除;
输入描述:
输入数据有多组,每组一行,仅包含数字和英文字母,不包含转义等其他特殊字符,输入数据最大长度为10;
输出描述:
对于每个测试实例,要求输出按规则删除后的数据,每个测试实例的输出占一行。如果删除后有字符,直接输出删除后的字符;如果删除后为空,则输出”no”
输入例子1:
a aaaaabbbb
输出例子1:
a no
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String str = in.nextLine();
char[] s = str.toCharArray();
boolean flag = true;
char cur = s[0];
for(int i = 1; i < s.length; i++){
if(s[i-1] == '@'){
if(s[i] == cur){
s[i] = '@';
}else{
cur = s[i];
}
}
else if(s[i] == s[i-1]){
cur = s[i];
s[i] = s[i-1] = '@';
flag = false;
}
}
StringBuilder sb = new StringBuilder();
for(char ch : s){
if(ch != '@') sb.append(ch);
}
String sb2 = sb.toString();
if(!flag){
if(!sb2.equals("")){
System.out.println(sb2);
}else{
System.out.println("no");
}
}else{
System.out.println(str);
}
}
}
}