《leetCode》:Pow(x, n)

来源:互联网 发布:舞台灯光软件 编辑:程序博客网 时间:2024/06/05 13:23

题目

Pow(x, n),即求x的n次方。

思路

此题是一个常规题,比较简单。利用简单的递归即可实现。

实现代码如下:

double myPow(double x, int n) {    int symbol=1;//用来标识n是不是为正数    if(n==0){        return 1;    }//    if(n==1){//        return x;//    }    if(n<0){//保证n为正数        n=-n;        symbol=-1;    }    if(n%2==0){       return symbol==1?myPow(x*x,n/2):(1/(myPow(x*x,n/2)));    }    else {        return symbol==1?(x*myPow(x*x,n/2)):(1/(x*myPow(x*x,n/2)));    }}

尽管这个题很简单,但是还是遇到的一点问题:没有考虑到的测试用例,n=0的情况。因此报如下错误。

AC结果如下:

1 0
原创粉丝点击