计算数字的 N 次幂

以下方法使用递归计算 num 的值,使其增加到 exp 的幂:

public long power(final int num, final int exp) {
    if (exp == 0) {
        return 1;
    }
    if (exp == 1) {
        return num;
    }
    return num * power(num, exp - 1);
}

这说明了上面提到的原则:递归方法实现了一个终止递归的基本情况(两种情况,n = 0 和 n = 1),以及一个再次调用该方法的递归情况。该方法是 O(N),并且可以使用尾调用优化简化为简单循环。