22.text--调整字符串
调整字符串
给定两个字符串,A和B
A的旋转操作就是将A最左边的字符移动到最右边
例如:若 A= "abcde",在移动一次之后结果就是"bcdea"
如果在若干次调整操作之后,A能变成B,那么返回True
如果不能匹配成功,则返回false
public static void main(String[] args) {
String A = "abcde";
String B = "deabc";
boolean result = contains(A,B);
System.out.println(result);
}
//方法一:用subString进行截取,把左边字符截取出来拼接到右边去
public static String changeStr1(String str){
StringBuilder sb = new StringBuilder();
return sb.append(str.substring(1)).append(str.charAt(0)).toString();
}
//方法二:先把字符串通过toCharArray()方法,变为字符数组,然后调整数组中元素的位置,最后再把数组变为字符串
public static String changeStr2(String str){
char[] arr = str.toCharArray();
char first = arr[0];
//从第二位元素开始往前移动一位
for (int i = 1; i < arr.length; i++) {
arr[i - 1] = arr[i];
}
arr[arr.length-1] = first;
String result = new String(arr); //这里的代码可以跳过,直接return new String(arr)
return result;
}
public static boolean contains(String a,String b){
for (int i = 0; i < a.length(); i++) {
a = changeStr1(a);
if(a.equals(b)){
return true;
}
}
return false;
}