- 递归就是方法自己调用自己,每次调用时传入不同的变量。
- 可以解决数学问题,像8皇后问题、汉诺塔问题、阶乘问题、迷宫问题。
- 可以解决算法问题,例如快排、归并排序、二分查找、分治算法等。
public class Recursion01 {
public static void main(String[] args) {
class AA{
public void test(int n){
if (n>2){
test(n - 1);
}
System.out.println("n = " + n);
}
}
AA aa = new AA();
aa.test(5);
}
}
n = 2
n = 3
n = 4
n = 5
Process finished with exit code 0
求阶乘的递归
public class Recursion02 {
public static void main(String[] args) {
class AA {
public int factorial(int n){
if(n == 1){
return 1;
}else{
return factorial(n-1) *n;
}
}
}
AA aa = new AA();
int result = aa.factorial(5);
System.out.println(result);
}
}
120
Process finished with exit code 0