从编程思想来看,递归就是方法定义中调用方法的现象。
递归解决问题的思路:
把一个复杂的问题转换成一个与原问题类似的但是规模较小的问题来求解。
递归的策略只需要少量的程序就可以描述出求解过程中的大规模重复运算。
递归解决问题的两个重要内容:
!递归出口:不然会抛出Error内存溢出。
!规则: 与原问题相似的较小规模问题。
给出一个递归问题案例:
public class ReturnUse {
public static void main(String[] args) {
int sum=f(20);
System.out.println(sum);
}
public static int f(int n){
if (n==1||n==2){
return 1;
}else {
return f(n-1)+f(n-2);
}
}
}