Implement pow(x, n).
解题思路:
直接使用乘法实现即可,注意下,如果n很大的话,递归次数会太多,因此在n=10和n=-10的地方设置一个检查点,JAVA实现如下:
static public double myPow(double x, int n) {
if(n==1)
return x;
else if(n>1&&n<=10)
return myPow(x,n-1)*x;
if(n>10)
return myPow(myPow(x,10),n/10)*myPow(x,n%10);
else if(n==-1)
return 1/x;
else if(n<-1&&n>=-10)
return myPow(x,n+1)*(1/x);
else if(n<-10)
return myPow(myPow(x,10),n/10)*myPow(x,n%10);
else return 1;
}