实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 示例 1: 输入:x = 2.00000, n = 10 输出:1024.00000 示例 2: 输入:x = 2.10000, n = 3 输出:9.26100
class Solution {
public double myPow(double x, int n) {
//防止越界 int->long
long temp=n;
//如果n是负数,则就是 x分支1 的n次方
if(temp<0){
temp=-temp;
x=1/x;
}
return quickPow(x,temp);
}
//快速幂模板
public double quickPow(double x,long y){
double sum=1;
while(y>0){
if((y&1)==1){
sum*=x;
}
x*=x;
y=y>>1;
}
return sum;
}
}