时间复杂度 (O(n))
细节题,
class Solution {
public:
double myPow(double x, int n) {
if(n%2==0 && x<0) x=-x;
if(x==1||x==-1)return x;
if(-2147483648==n){
n = 2147483647;
x=1.0/x;
}
if(x==-1.00000 && n==-2147483648)return 1;
if(n<0){ n=-n; x = 1.0/x; }
double pow = 1.0;
for(int i=0;i<n;++i){
pow *=x;
if(pow==0)return 0.0;
}
return pow;
}
};