两遍循环,第一遍检测AAA型错误,第二遍检测AABB型错误:
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
int N = Integer.parseInt(sc.nextLine());
while(N-- > 0){
String str = sc.nextLine();
StringBuilder s = new StringBuilder(str);
for(int i = 0; i + 2 < s.length(); ++i){
char a = s.charAt(i), b = s.charAt(i + 1), c = s.charAt(i + 2);
if(a == b && b == c) s.deleteCharAt(i--);
}
for(int i = 0; i + 3 < s.length(); ++i){
char a = s.charAt(i), b = s.charAt(i + 1), c = s.charAt(i + 2), d = s.charAt(i + 3);
if(a == b && c == d) s.deleteCharAt(i + 2);
}
System.out.println(s);
}
}
}
京公网安备 11010502036488号