力扣–反转字符串
题目描述
给一个字符类型的数组chas和一个整数size,请把大小为size的左半区整体右移到右半区,右半区整体移动到左边。
思路:
代码实现如下:
import java.util.*;
public class Main {
public static String reverse(int left,int right,String str){
int len = str.length();
//把字符串转换成数组
char[] arr = str.toCharArray();
while(left < right){
char tmp= arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
//把arr数组转换成字符串
return String.valueOf(arr);
}
public static String reversek(int k,String str){
int len = str.length();
if(str == null || k <= 0 || k > len){
return null;
}
str = reverse(0,k-1,str);
str = reverse(k,len-1,str);
str = reverse(0,len-1,str);
return str;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int k = scan.nextInt();
String str = scan.next();
String result = reversek(k,str);
System.out.println(result);
}
}