【字符串】字符串移位练习题

**对于一个字符串,请设计一个算法,将字符串的长度为len的前缀平移到字符串的最后。

给定一个字符串A和它的长度,同时给定len,请返回平移后的字符串。

测试样例:
“ABCDE”,5,3
返回:”DEABC”**

import java.util.*;

public class Translation {
    public String stringTranslation(String A, int n, int len) {
        char[] s = A.toCharArray();
        rotate1(s, len);
        return String.valueOf(s);
    }

    public void rotate1(char[] chas, int size) {
        if (chas == null || size <= 0 || size >= chas.length) {
            return;
        }
        reverse(chas, 0, size - 1);
        reverse(chas, size, chas.length - 1);
        reverse(chas, 0, chas.length - 1);
    }

    public void reverse(char[] chas, int start, int end) {
        char tmp = 0;
        while (start < end) {
            tmp = chas[start];
            chas[start] = chas[end];
            chas[end] = tmp;
            start++;
            end--;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Super_white/article/details/82467380