【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);       
    }
};

 

posted @ 2015-03-24 13:14  neuzxy  阅读(107)  评论(0编辑  收藏  举报