public class Solution { public double myPow(double x, int n) { //利用二分法,通过递归加速计算 //注意:1.判断n是否为负 // 2.递归结束条件,n==1和n==0 // 3.n的奇偶不同处理方式 if(n<0) return 1/pow(x,-n); else return pow(x,n); } public double pow(double x,int n){ if(n==0) return 1; if(n==1) return x; double temp=pow(x,n/2); if(n%2==0){ return temp*temp; }else{ return temp*temp*x; } } }