将一个字符串进行反转,将字符串中指定的部分进行反转,比如"abcdefg"反转为"abfedcg"
分为三种方式
直接上代码!!!
public class StringDemo {
public static String reverse(String str, int start, int end) {
if (str != null && str != "") {
char[] arr = str.toCharArray();
for (int x = start, y = end; x < y; x++, y--) {
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
return new String(arr);
}
return null;
}
public static String reverse1(String str, int start, int end) {
if (str != null && str != "") {
String reverseStr = str.substring(0, start);
for (int i = end; i >= start; i--) {
reverseStr += str.charAt(i);
}
reverseStr += str.substring(end + 1);
return reverseStr;
}
return null;
}
public static String reverse3(String str, int start, int end) {
StringBuilder stringBuilder = new StringBuilder(str.length());
stringBuilder.append(str.substring(0,start));
for (int x=end;x>=start;x--){
stringBuilder.append(str.charAt(x));
}
stringBuilder.append(str.substring(end+1));
return stringBuilder.toString();
}
@Test
public void test3() {
String str = reverse("abcdefg", 2, 5);
System.out.println(str);
}
@Test
public void test() {
String str = reverse("abcdefg", 2, 5);
System.out.println(str);
}
@Test
public void test1() {
String str = reverse1("abcdefg", 2, 5);
System.out.println(str);
}
}