题目:
如果一个字符串 str,把字符串 str 前面任意的部分挪到后面形成的字符串叫做 str 的旋转词。比如 str="12345",str 的旋转词有 "12345"、"23451"、"34512"、"45123"、和 "51234"。给定两个字符串 a 和 b,请判断 a 和 b 是否互为旋转词。
/**
* 旋转词
*
*
* @author chenjunxu
*
*/
public class Main {
public static void main(String[] args) {
String str1 = "1234";
String str2 = "2341";
// 获取结果
boolean result = isRotatingWord(str1, str2);
System.out.println(result);
}
/**
* 判断两个字符串是否互为旋转词
*
* @param str1
* @param str2
* @return
*/
private static boolean isRotatingWord(String str1, String str2) {
// 如果任一字符串为null或者两者长度不同,则不可能为旋转词
if (str1 == null || str2 == null || str1.length() != str2.length()) {
return false;
}
// 拼接字符串
String str = str1 + str1;
// 查找拼接后的字符串是否包含另外一个字符串
return str.contains(str2);
}
}