题目:给定一个数组,逆序输出。要求递归实现。
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,6,5,4,4};
getRes(arr);
}
public static void getRes(int[] arr) {
getHelper(arr,0,arr.length-1);
}
public static void getHelper(int[] arr, int low, int high) {
if(low >= high) {
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i] + " ");
}
return;
}
else {
int temp = arr[high];
arr[high] = arr[low];
arr[low] = temp;
getHelper(arr,low+1,high-1);
}
}
}
说明:是不是觉得没事撑着,数组遍历用得着这样吗,其实这是递归的思路,假如换做是链表呢,所以掌握思想永远不会错的。
注意事项:注意判断条件是low >= high;而不是low = high。