属实想不到哇 快速幂 代码 class Solution { public double myPow(double x, int n) { if(x==0) return 0; if(n==0) return 1; // n=−2147483648取-n,超出了int范围,所以先用long存放 long b=n; if(b<0){ x=1/x; b=-b; } double res=1.0; while(b!=0){ if((b&1)==1) res*=x; x*=x; b>>=1; } return res; } } 复杂度 时间 log2n 空间 1 结果