LeetCode50.Pow(x,n)
更新: 6/16/2026 字数: 0 字 时长: 0 分钟
题目意思很简单,就是求
如果我们直接暴力遍历肯定是不行的,因为O(n)的时间复杂度肯定会超时,我们这里考虑快速幂+迭代:
比如要求
那么代码我们就能很容易写出来了:
cpp
class Solution {
public:
double myPow(double x, int n) {
long long N = n;
if(n < 0) {
x = 1 / x,N = -N;
}
double ans = 1;
while(N) {
if(N % 2) {
ans *= x;
}
x *= x;
N /= 2;
}
return ans;
}
};