输入第一行为数字t,t为字符串输入行数
剩下t行每两行一组,每组判断。
import java.awt.geom.CubicCurve2D;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int t=s.nextInt();
String[] str=new String[t];
for(int i=0;i<t;i++) {
str[i]=s.next();
}
for(int i=0;i<t;i+=2) {
System.out.println(cud(str[i], str[i+1]));
}
}
public static String cud(String s1,String s2) {
String zxd=dud(s2);
for(int i=0;i<=s1.length()-1;i++) {
if(zxd.equals(s1)) {
return("YES");
}else {
zxd=dud(zxd);
}
}
return("NO");
}
public static String dud(String s) {
String x=s.substring(s.length()-1, s.length());
return((x+s).substring(0, s.length()));
}
}
dud方法是将字符串尾部置于首部一次的操作。
cud是直接判断两个字符串能否通过数次置换相等的操作。