Leetcode#50 Pow(x, n)

原题地址

 

普通分治题。需要注意n可正可负。

代码:

 1 double pow(double x, int n) {
 2         if (n == 0) return 1;
 3         if (n == 1) return x;
 4         if (n == -1) return 1 / x;
 5         
 6         double half = pow(x, n / 2);
 7         if (n % 2 == 0)
 8             return half * half;
 9         else
10             return half * half * (n > 0 ? x : 1 / x);
11     }

 

posted @ 2015-01-27 02:12  李舜阳  阅读(136)  评论(0编辑  收藏  举报