• 判断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;
    }
};