一、题目链接
http://noi.openjudge.cn/ch0107/19/
二、解题思路
三、实施步骤
四、Java程序
import java.util.Scanner;
public class Main {
/**
* 判断一个给定字符串能否通过循环移位包含另一个给定字符串
*
* @param s1 String类型的对象,代表第一个给定字符串
* @param s2 String类型的对象,代表第二个给定字符串
* @return true当且仅当s1可以通过循环移位包含s2,否则false
*/
public boolean containable(String s1, String s2) {
String ss1 = s1 + s1; // 拼接s1
// 如果s1长度不小于s2且拼接后的ss1包含s2,说明s1可以通过循环移位包含s2,否则不可以
return s1.length() >= s2.length() && ss1.contains(s2);
}
public static void main(String[] args) {
Main test = new Main();
Scanner input = new Scanner(System.in);
String s1 = input.next();
String s2 = input.next();
System.out.print(test.containable(s1, s2) || test.containable(s2, s1));
}
}