描述
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。
class Solution {
public double myPow(double x, int n) {
if(n == Integer.MIN_VALUE){
return x == 1 || x == -1 ? 1 : 0;
}
if(n == 0){
return 1;
}
//递归结束判断
if(n == 1){
return x;
}
//如果是负数,把x变为1/x,n变成正数。
if(n < 0){
return myPow(1/x,-n);
}
//如果n是偶数,将幂次缩小两倍。
if(n % 2 == 0){
return myPow(x*x,n/2);
}
//如果n是奇数,将n转成偶数。
return x*myPow(x,n-1);
}
}