class Solution {
public double myPow(double x, int n) {
if(n==0) return 1;
long N=n; //防止负数最大反转出错
if(N<0){
x=1/x;
N=-N;
}
double result=1;
while(N>0){
if(N%2==1) result*=x;
N>>=1;
x*=x;
}
return result;
}
}