递归就是自己直接或者间接调用自己:
//递归实现6的阶乘 6!
public class Main {
public static void main(String[] args) {
System.out.println(value(6));
}
public static int value(int v) {
//判断v是否为1,为1则退出循环
if(v==1){
return 1;
}else
return v*value(v-1);
}
}
//递归实现从1加到6
public class Main {
public static void main(String[] args) {
System.out.println(add(6));
}
public static int add(int v) {
//判断v是否为1,为1则退出循环
if(v==1){
return 1;
}else
return v+value(v-1);
}
}
使用递归解决问题代码少,思路清晰,但耗费空间,尽量避免使用,汉诺塔问题是最常见的递归解决的问题。