class Solution {
public static String reverse2(String str,int i,int j) {
if(str == null) return null;
//1、先把字符串转变为数组
char[] array = str.toCharArray();
//2、开始逆置
while (i < j) {
char tmp = array[i];
array[i] = array[j];
array[j] = tmp;
i++;
j--;
}
return String.copyValueOf(array);
}
public static String reverseLeftWords(String str, int k) {
if(str == null) return null;
int len = str.length();
if(len == 0 || k <= 0 || k > len) {
return null;
}
str = reverse2(str,0,k-1);//bacdef
str = reverse2(str,k,len-1);//bafedc
str = reverse2(str,0,len-1);//efab;
return str;
}
public static void main (String[] args){
String str = "abcdef";
System.out.println(reverseLeftWords(str, 2));
}
}
逆置任意位置的字符串(abcdef --> cdefab)
最新推荐文章于 2022-12-05 20:16:17 发布