题意
求幂
题解
根据幂的二进制位是否为1来不断相乘。
代码
class Solution {
public:
double myPow(double x, int n) {
bool isNeg = false;
if(n < 0)
{
isNeg = true;
n = -n;
}
double result = 1;
while(n)
{
if(n & 1)
result = result * x;
x = x * x;
n /= 2;
}
return isNeg ? 1.0 / result : result;
}
};