文章目录
01 数值的整数次方
解法
class Solution {
public:
double myPow(double x, int n) {
int pow = abs(n);
if(pow == 0)
return 1.0;
//将n转为为二进制来考虑问题
double res = 1.0;
while(pow > 0)
{
if(pow & 1)
{
res *= x;
}
x *= x;
pow >>= 1; //右移等于除2
}
//如果是负数
if(n < 0)
{
res = 1/ res;
}
return res;
}
};