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;
}
posted on 2023-04-12 10:50  小黑确实不黑  阅读(22)  评论(0编辑  收藏  举报