[leetcode] 50. Pow(x, n) 解题报告

题目链接:https://leetcode.com/problems/powx-n/

Implement pow(xn).


思路:使用二分来分治计算,要注意一些特殊情况:奇数和偶数,n=0,为负等情况

代码如下:

class Solution {
public:
    double myPow(double x, int n) {
        if(n == 1) return x;
        if(n == 0) return 1;
        double ans = myPow(x, abs(n)/2);
        if(n%2 == 0) ans = ans * ans;
        else ans = ans*ans * x;
        if(n < 0 && ans != 0) return 1/ans;
        return ans;
    }
};


你可能感兴趣的:(LeetCode,Math,search,binary)