wa好几遍,就是在INT_MIN跪了。
class Solution {
public:
double myPow(double x, int n) {
if(n==0)
return 1.0;
if(n<0)
{
if(n==INT_MIN)
return 1.0 / (pow(x,INT_MAX)*x);
else
return 1.0 / pow(x,-n);
}
double half = pow(x,n>>1);
if(n%2==0)
return half*half;
else
return half*half*x;
}
};