Leetcode: Pow(x, n)

来源:互联网 发布:javascript servlet 编辑:程序博客网 时间:2024/09/21 09:02

Implement pow(xn).

这个要注意n可能是负数,溢出没有考虑。

class Solution {public:    double pow(double x, int n) {        double result = 1;        bool positive = true;        if (n < 0) {            positive = false;            n = -n;        }        while (n > 0) {            if (n & 1 == 1) {                result *= x;            }            x *= x;            n >>= 1;        }                if (positive) {            return result;        }        else {            return 1/result;        }    }};

===============第二次==============

class Solution {public:    double pow(double x, int n) {        bool positive = true;        if (n < 0) {            n = -n;            positive = false;        }                double result = 1;        while (n > 0) {            if (n & 1) {                result *= x;            }            n >>= 1;            x *= x;        }                if (!positive) {            result = 1 / result;        }                return result;    }};



0 0