题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
用求快速幂方法,循环替代递归减少运行时间。
考虑指数正负问题。
class Solution{public: double Power(double base, int exponent) { long exp = abs(exponent); double res = 1.0; while (exp) { if (exp & 1) res *= base; base *= base; exp >>= 1; } return exponent > 0 ? res : 1 / res; }};