Implement pow(x, n).
Use recursion. Note when n is negative.
public class Solution {
public double pow(double x, int n) {
if (n == 0) {
return 1;
}
if (n == 1) {
return x;
}
boolean isNegative = false;
if (n < 0) {
isNegative = true;
n *= -1;
}
double t = pow(x, n / 2);
double res = t * t * pow(x, n - n / 2 * 2);
if (isNegative) {
return 1 / res;
} else {
return res;
}
}
}
本文介绍了一种使用递归方式实现幂运算的方法,特别关注当指数为负数的情况。通过递归分解问题,实现了高效计算x的n次幂。

被折叠的 条评论
为什么被折叠?



