第一种:很简单但是效率低
public class Solution {
public double Power(double base, int exponent) {
double result=1;
int sign=0;
if(exponent<0){
sign=-1;
exponent=- exponent;
}
while(exponent!=0){
result*=base;
exponent--;
}
return sign==0?result:(1/result);
}
}
第二种:快速幂(分析点下面链接哦)
https://blog.csdn.net/liangllhahaha/article/details/82119378
public class Solution {
public double Power(double base, int exponent) {
double result=1;
double temp=base;
int sign=0;
if(exponent<0){
sign=-1;
exponent=-exponent;
}
while(exponent!=0){
if((exponent&1)==1)
result*=temp;
temp*=temp;// 翻倍
exponent>>=1;// 右移一位
}
return sign==0?result:(1/result);
}
}