题目描述:
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
备注:
char是字符类型,string是字符串类型(刚开始是用栈的思路做的)。

public class Solution30 {
public static String LeftRotateString(String s,int k){ //对字符串旋转左移K位
if (k > s.length()){ //保证旋转的位数大于字符串长度,否则返回空的字符串
return ""; //没有空格
}
String s1 = s.substring(0,k); //把原来的字符串截取成两个字符串s1、s2,然后进行拼接
String s2 = s.substring(k,s.length());
return s2+s1;
}
public static void main(String args[]){
String s ="abcXYZdef";
System.out.println(LeftRotateString(s,3));
}
}

//输出:
//XYZdefabc

//Process finished with exit code 0