思路:考虑边界情况,1:0-exponent基数为0,指数为负数的话,没有意义;2:基数不为0,指数为负数的话,要考虑结果变为倒数。
class Solution {
public:
double Power(double base, int exponent) {
if(base==0.0&&exponent<0)
return 0.0;
int absexponent = exponent;
if(exponent<0)
absexponent = -exponent;
int result = PowerCore(base, absexponent);
if(exponent<0)
return 1.0/result;
return result;
}
double PowerCore(double base, int exponent)
{
double result=1.0;
int i=1;
while(i<=exponent)
{
result*=base;
i++;
}
return result;
}
};