Fork me on GitHub

牛客网习题剑指offer之数值的整数次方

 

image

 

分析:

要考虑到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;
    }

}

 

 

参考资料:

1. https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&tqId=11165&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

posted @ 2017-11-06 19:34  CC11001100  阅读(157)  评论(0编辑  收藏  举报