递归实现字符串取反
/***
* 递归将字符串abc,取反cba
*
* @param arr
* @param index
*/
public static void fun4(char[] arr, int begin, int end) {
if (end <= begin) {
System.out.println(arr);
return;
}
// 交换
{
char temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
}
// 递归
fun4(arr, begin + 1, end - 1);
}
双指针实现字符串取反
public static void reverseStr(String str) {
char[] c = str.toCharArray();
int begin = 0;
int end = c.length - 1;
while (end >= begin) {
//临时保存第一个值
char temp = c[begin];
//交换
c[begin] = c[end];
c[end] = temp;
//更新两个指针
begin++;
end--;
}
System.out.println(c);
}