可以发现,无论操作多少次,总是由两段下标连续的串组成,所以直接在原串后面接上原串,求最长黑白相间连续串即可。
两次翻转相当于一次旋转,拼接原串即是所有旋转结果
import java.util.Scanner;
public class WangYiCodeone {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
scanner.close();
// int n=s.length();
// int w = 0,b = 0;
String s = s1 + s1;
int count = size(s);
System.out.println(s);
System.out.println(count);
}
//返回字符串最大相间子串的长度
public static int size(String s){
int size = 1;
int sum = 0;
for(int i=0;i<s.length()-1;i++){
if(s.charAt(i)!=s.charAt(i+1)){
size++;
}else{
if(size>sum){
sum = size;
}
size = 1;
}
}
return sum;
}
}