实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。
示例:
输入:x=2.10000, n=3
输出:9.26100
class Solution {
public double myPow(double x, int n) {
long N = n;
//如果n为负数则计算x的-n次方再求倒数
return N >= 0 ? quickMul(x, N) : 1.0 / quickMul(x, -N);
}
public double quickMul(double x, int N) {
// 递归边界
if (N == 0) {
return 1.0;
}
double y = quickMul(x, N / 2);
return N % 2 == 0 ? y * y : y * y * x;
}
}