将一个字符串进行反转。
将字符串中指定部分进行反转(“abcdefg”;abfedcg)
思路:
- 1,曾经学习过对数组的元素进行反转。
- 2,将字符串变成数组,对数组反转。
- 3,将反转后的数组变成字符串。
- 4,只要将或反转的部分的开始和结束位置作为参数传递即可。
public class StringDemo03 {
public static void main(String[] args) {
String s = "123456789";
System.out.println(s);
System.out.println("new-->"+reverseString(s));
}
public static String reverseString(String s,int start,int end){
char[] chs = s.toCharArray();
reverse(chs,start,end);
return new String(chs);
}
public static String reverseString(String s){
return reverseString(s,0, s.length());
}
private static void reverse(char[] chs, int x, int y) {
for(int start=x,end=y-1;start<end;start++,end--){
swap(chs,start,end);
}
}
private static void swap(char[] arr,int x,int y)
{
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}