实现 pow(x, n) ,即计算 x 的 n 次幂函数。
折半计算
class Solution {
public double myPow(double x, int n) {
if (n == 0) {
return (double) 1;
}
if (n == 1) {
return x;
} else if (n == -1) {
return 1 / x;
}
if ((n % 2) == 0) {
double r = myPow(x, n / 2);
return r * r;
} else {
double r = myPow(x, n / 2);
return r * r * (n > 0 ? x : 1 / x);
}
}
}