【leetcode】 pow(x,n)

问题:

Implement pow(xn).

分析

1、二分法:x^n = x^n/2 * x^n/2 ×*x^n%2。

代码

class Solution {
public:
   double myPow(double x,int n){
       //指数为负的情况: 倒数;
       if(n<0) return 1.0/Pow(x,-n);
       else return Pow(x,n);
   }
private:
    double Pow(double x,int n){
        if(n==0) return 1;
        double v=Pow(x,n/2);
        //x^n = x^n/2 * x^n/2 ×*x^n%2
        if(n%2==0) return v*v;
        else return v*v*x;
    }
};




你可能感兴趣的:(面试题,leetcode,leetcode,求指数)