- 判断base和exponent的正负号;
- 按照正数计算乘积;
- 判断最后结果是否需要改变。
class Solution {
public:
double Power(double base, int exponent) {
double result = 1;
bool signB = true;
bool signE = true;
if (base < 0) {
signB = false;
base = -base;
}
if (exponent < 0) {
signE = false;
exponent = -exponent;
}
if (exponent % 2 == 0) {
signB = true;
}
while (exponent > 0) {
result *= base;
exponent--;
}
if (signB == false) {
result = -result;
}
if (signE == false) {
result = 1 / result;
}
return result;
}
};