分析:
要考虑到exponent为0和负数的情况。
如果base是0并且exponent是负数的时候呢?那就发生除0的情况了。
AC代码:
public class Solution {
public double Power(double base, int exponent) {
if(exponent == 0) return 1;
if(Math.abs(base) <= 0.000000000000001) return 0;
boolean reverseFlag = exponent < 0;
exponent = Math.abs(exponent);
double result = 1;
while(exponent-- >0){
result *= base;
}
return reverseFlag ? 1 / result : result;
}
}
参考资料:
原文:http://www.cnblogs.com/cc11001100/p/7794780.html