递归的两个要素
- 递归的出口(最小问题的解决)
- 递归方程
举例:
求解一个数组的和sum(int[] arr), 借助sum(int[] arr, int i)
- 递归出口:当求解 第arr.length项时,返回0;
- 递归方程:arr[i] + sum(int[] arr, int i)
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
arr[i] |
=
1 |
---|
+
2 | 3 | 4 | 5 |
---|
代码实现
public int sum(int[] arr) {
}
public int sum(int[] arr, int i) {
if(i == arr.length)
return 0;
return arr[i] + sum(int[] arr, i + 1);
}