题目:如果字符串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");
        }
    }
}


========================================Talk is cheap, show me the code=======================================