【leetcode】pow(x, n)

Implement pow(xn).

二分法,注意n为负数的处理。

class Solution {
public:
    double power(double x, int n)
    {
        if (n == 0)
            return 1;
            
        double v = power(x, n / 2);
            
        if (n % 2 == 0)
            return v * v;
        else
            return v * v * x;
    }
    
    double pow(double x, int n) {
        if (n < 0)
            return 1.0 / power(x, -n);
        else
            return power(x, n);       
    }
};
原文地址:https://www.cnblogs.com/zxy1992/p/4362472.html