LeetCode 50. Pow(x, n)

Implement pow(x, n).

水题
直接return pow(x, n)就可以过了。

用快速幂比较好一点。

class Solution {
public:
    double myPow(double x, int n) {
        bool flag = false;
        long long t = n;
        if(t < 0)
            flag = true, t = -t;
        double res = x;
        double ans = 1;
        while(t)
        {
            if(t & 1)
                ans *= res;
            res *= res;
            t >>= 1;
        }
        if(flag)
            return 1 / ans;
        else
            return ans;
    }
};
posted @ 2017-04-01 12:45  aiterator  阅读(112)  评论(0编辑  收藏  举报