将字符串反转。
/*
思路:
1,将字符串变成数组。
2,对数组反转。
3,将数组变成字符串。
*/
public static String reverseString(String s,int start,int end)
{
//字符串变数组。
char[] chs = s.toCharArray(); //因为变成数组可以调用指针 你反转就是控制指针的位置 因为你最后输出的是字符串 所以要把数组编程字符串
//反转数组。
reverse(chs,start,end);
//将数组变成字符串。
return new String(chs); //你这里创建了两个字符串对象 类似new String("swz") 没必要这样最 直接 new String(s,0,s.length()); 这样下面那句就可以去掉了
}
public static String reverseString(String s) //这就就是把数组变成字符串 {
return reverseString(s,0,s.length());
}
private static void reverse(char[] arr,int x,int y)
{
for(int start=x,end=y-1; start<end ; start++,end--) //我觉得可以用charAt() 把字符串的位置获取,然后再交换,组成新的字符串。 我个人觉得只要实现方法什么样子都可以
{ //charAt(0) 和 charAt(str.length-1) 直接交换
swap(arr,start,end); //charAt(x) charAt(y)
} // x++ y--
}
private static void swap(char[] arr,int x,int y)
{
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
|