递归问题处理模板
1.定义递归函数:确定函数名,递归的参数信息
2.确定递归的终止条件
3.进行递归中的逻辑处理
4.进入更下一层的递归
5.重置一些状态(非必要,一般在解决排列组合的递归时需要重置状态)
递归处理的示例:求解x的n次幂
private double computePower(double x, int n) {
//处理终止条件
if (n == 0) {
return 1;
}
//处理变量
int m = n/2;
//递归处理
double y = computePower(x, m);
//后续处理
if (n % 2 == 0) {
return y*y;
} else {
return y*y*x;
}
}