计算数字的 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)
,并且可以使用尾调用优化简化为简单循环。