题目:如果字符串s中的字符循环移动任意位置之后能够得到另一个字符串t,那么s就被称为t的回环变位。例如,ACTGACG就是TGACGAC的一个回环变位,反之亦然。判定这个条件在基因组序列的研究中是很重要的。编写一个程序检查两个给定的字符串s和t是否为回环变位。
上代码:
import java.io.BufferedInputStream;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
String s = cin.next();
String t = cin.next();
cin.close(); // indexOf返回指定子字符串在此字符串中第一次出现处的索引,如果找不到子串就返回-1
if ((s.length() == t.length()) && (s.concat(s).indexOf(t) >= 0)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}