Java for LeetCode 050 Pow(x, n)

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;
    }

 

posted @ 2015-05-14 23:39  TonyLuis  阅读(202)  评论(0编辑  收藏  举报