字符串旋转(java)

版权声明:禁止侵权,打击盗版! https://blog.csdn.net/ChenGX1996/article/details/82222401

给定一个字符串,将其“旋转”,例如:

ABCDEF123456      (旋转3次)--->  DEF123456ABC

ABCDEFG123456        (旋转4次)--->     EFG123456ABCD

这里只实现函数:

//字符串旋转---两个参数为:源字符串,偏移量
    //例:ABCD1234 (偏移量为3) ->  D123ABC
    public static String LeftRotateString(String str,int n) {
        //1.先将该字符串复制一份相同的加在源字符串后面
        String string = str+str;
        //2.将此字符串变为字符数组操作
        char[] array = string.toCharArray();
        //3.创建目标字符串
        int len = str.length();
        char[] array1 = new char[len];
        //4.对目标字符串进行赋值操作
        //长字符串从偏移位置开始向后推移,目标字符串从头开始推移;
        for(int j=0,i=n;j<len;j++,i++){
            array1[j] = array[i];
        }
        String result = new String(array1);
        return result;
    }

猜你喜欢

转载自blog.csdn.net/ChenGX1996/article/details/82222401