给定两个字符串,A和B。A的旋转操作就是将A最左边的字符移动到最右边。例如,若A= 'abcde',在移动一次之后结果就是'bcdea'。如果在若干次调整操作之后,A能变成B,那么返回True。如果不能匹配成功,则返回false
package Comprehensive;
public class Test2 {
public static void main(String[] args) {
String str1 = "abcde";
String str2 = "bcdea";
System.out.println(compare(str1,str2));
}
//比较两个字符串
public static boolean compare(String str1,String str2){
for (int i = 0; i < str1.length(); i++) {//循环得到字符串所有旋转后可能的情况
String s = rotateStr(str1);
if (s.equals(str2)){//依次与待比较的字符串比较
return true;
}
}
//所有的情况都比较完毕还不一样,就说明不能匹配成功
return false;
}
//定义旋转字符串的方法
public static String rotateStr(String str){//将字符串第一个与剩下的交换位置即为旋转一次
String newStr = str.substring(1) + str.substring(0,1);
return newStr;
}
}