class Solution {
public:
    double myPow(double x, int n) {
        double res = 1.0;
        for (int i = n; i != 0; i /= 2) {
            if (i % 2 != 0) res *= x;
            x *= x;
        }
        return n < 0 ? 1 / res : res;
    }
};
class Solution {
    public double myPow(double x, int n) {
        if (n < 0)
            return 1/pow(x,-n);
        return pow(x,n);
    }
    private double pow(double x, int n) {
        if (n == 0)
            return 1;
        double res = pow(x, n/2);
        if (n%2 == 0) 
            return res * res;
        return x * res * res;
    }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄