Leetcode 50. Pow(x, n)

Implement pow(x, n).

不得不说,面试题就是毒辣,总是让人容易出错,往往在最细节的地方,没面试过就渐渐有种阴影,不过会慢慢克服。

整型负数的最小值取相反数结果是溢出的,所以负数的情况要处理一下

class Solution {
public:
    double myPow(double x, int n) {
        if(n == 0)
            return 1;
        if(n > 0)
        {
            double ans = 1;
            while(n)
            {
                if(n & 1) ans = ans * x;
                x = x *x;
                n >>= 1;
            }
            return ans;
        }
        return 1/x*myPow(1/x,-n-1); 
    }
};
如果有错误,请指出,谢谢
原文地址:https://www.cnblogs.com/Alruddy/p/7163373.html