/*
2.将一个字符串进行反转。将字符串中指定部分进行反转,"abcdefg";abfedcg
思想:
1.曾经学习过对数组元素进行反转。
2.将字符串变成数组,对数组反转。
3.将反转后的数组变成字符串。
4.只要将反转的部分的开始和结束位置作为参数传递即可。
*/
class MyReverseString
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void reverseString()
{
String s = "abcdefg";//abfedcg
reversePartString(s,2,s.length()-1);//从角标为2的位置开始到末尾上的字母进行反转
}
public static void reversePartString(String s,int start,int end)
{
//字符串转换成数组
char[] arr = s.toCharArray();
//反转数组
reverse(arr,start,end);
//数组转换成字符串
sop(new String(arr));
}
private static void reverse(char[] arr,int x,int y)
{
for(int start=x,end=y;start<end;start++,end--)
swap(arr,start,end);
}
private static void swap(char[] arr,int x,int y)
{
char temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
public static void main(String[] args)
{
reverseString();
}
}