递归

递归指的是调用自己的函数。
每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。

构成递归需具备的条件

1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。
 
 
例:
private static void countdown(int i) {
    System.out.println(i);

    // base case
    if (i <= 0) {
        return;
    } else {
        countdown(i - 1);
    }
}

public static void main(String[] args) {
    countdown(5);
}
原文地址:https://www.cnblogs.com/ooo0/p/9129672.html