汇编语言中有一种指令叫做循环左移(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));
}
}
还有其他什么方法欢迎大家告诉我