将一个数组从左开始第几位之前的进行旋转
例:
将“abcdef”前2位进行旋转------>“cdefab”
public class TestDemo1 {
public static void reverse(char[] ch,int start,int end){//倒置数组
char tmp;
while (start < end){
tmp = ch[start];
ch[start] = ch[end];
ch[end] = tmp;
start++;
end--;
}
}
public static void leftRotateString(String str,int n){
char[] array1 = str.toCharArray();//将字符串转换为字符数组
reverse(array1,0,n-1);
reverse(array1,n,array1.length-1);
reverse(array1,0,array1.length-1);
str = String.valueOf(array1);//将字符数组转换为字符串
System.out.println("左旋"+n+"为:"+str);
}
public static void main(String[] args) {
String str = new String();
str = "abcdefg";
leftRotateString(str,3);//左旋三位
}
}