class Solution {
public double myPow(double x, int n) {
if(n == 0){
return 1D;
}
int pow = Math.abs(n == Integer.MIN_VALUE?n + 1:n);
double t = x;
double ans = 1D;
while(pow != 0){
if((pow & 1) != 0){
ans = ans * t;
}
t = t * t;
pow >>= 1;
}
if(n == Integer.MIN_VALUE){
ans *= x;
}
return n < 0 ? (1D / ans) : ans;
}
}
LeetCode 50. Pow(x, n)
最新推荐文章于 2023-10-01 00:12:06 发布
本文详细解析LeetCode第50题,使用Java高效地实现求解x的n次幂的算法,探讨不同的解决方案,包括迭代与递归的方法,以及优化策略。
摘要由CSDN通过智能技术生成