分析:
要考虑到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; } }
参考资料: