随便写写,只想用递归来写,很简单幂可以看作连乘,因此考虑用递归。
代码:
class Solution {
public:
double Power(double base, int exponent) {
if(exponent == 0) return 1;
if(exponent == 1) return base;
if(exponent == -1) return 1/base;
if(exponent < 0){
exponent ++;
return (1/base) * Power(base, exponent);
}
exponent--;
return base * Power(base, exponent);
}
};算了我的方法太蠢了,建议看看题解中的快速幂,时间复杂度会小。

京公网安备 11010502036488号