方法一:x^n次方就是n个x相乘。所以可以循环计算结果。时间复杂度为o(n).
方法二:快速幂法
class Solution {
public double myPow(double x, int n) {
if(x == 0){return 0;}
long m = n;
double res = 1.0;
if(m<0){
x = 1/x;
m = -m;
}
while(m>0){
if((m&1) == 1)
//最右边一位为1
res = res*x;
x *= x;
m >>= 1;
}
return res;
}
}