——- android培训、java培训、期待与您交流! ———-
class StringReverseDemo
{
public static void main(String[] args)
{
//目标字符串
String str1 = "abcdefghijk";
//反转全部字符串
String str2 = reverseString(str1);
System.out.println(str2);
//反转指定字符串
String str3 = reverseString(str1,,);//注意:包含头不包含尾
System.out.println(str3);
}
//反转指定字符串
public static String reverseString(String str,int start ,int end)
{
//1 字符串转字符数组
char[] CharArray = str.toCharArray();
//2 指定数组元素反转
reverseArray(CharArray,start,end);
//3 数组转字符串
return new String(CharArray);
}
//反转全部字符串
public static String reverseString(String str)
{
return reverseString(str,,str.length());
}
//指定数组元素反转
public static void reverseArray(char[] CharArray,int x,int y)
{
//设置头尾指针
int start = x,end = y-;
//当头指针小于尾指针时,首尾交换
while(start<end)
swap(CharArray,start++,end--);
}
//数组全部反转
public static void reverseArray(char[] CharArray)
{
reverseArray(CharArray,,CharArray.length);
}
//数组指定位置互换操作
public static void swap(char[] ch,int x,int y)
{
//设置一个临时变量,三变量法
char temp = ch[x];
ch[x] = ch[y];
ch[y] = temp;
}
}