随便写写,只想用递归来写,很简单幂可以看作连乘,因此考虑用递归。
代码:
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); } };
算了我的方法太蠢了,建议看看题解中的快速幂,时间复杂度会小。