Java实现字符串左移

汇编语言中有一种指令叫做循环左移(ROL),现在又个简单任务就是用字符串模拟这个指令,对于一个给定的字符串s,请你把其循环左移K位后的序列输出,例如,字符串S=”abcXYZdef”要求输出循环左移三位的结果”XYZdefabc”

我的思路将两个相同字符串拼接,然后从第K位开始取length个,从而达到要求

public class Demo{
    public static String leftShift(String string,int n) {
        String newStr=string+string;
        String rString="";
        for (int i = 0; i < string.length(); i++) {
            rString+=newStr.charAt(i+n);
        }

        return rString;

    }
    public static void main(String[] args) {
        System.out.println(leftShift("abc123", 3));
    }
}

还有其他什么方法欢迎大家告诉我


版权声明:本文为weixin_40909099原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。