题目:实现 pow(x, n) ,即计算 x
的整数 n
次幂函数(即, )。
思路:
代码:
class Solution {
public double myPow(double x, int n) {
double ans = 1;
long N = n;
if (N < 0) {
N = -N;
x = 1 / x;
}
while (N != 0) {
if ((N & 1) == 1) {
ans *= x;
}
x *= x;
N >>= 1;
}
return ans;
}
}
性能:
时间复杂度o(log| n |)
空间复杂度o(1)