Implement pow(x, n).
思路:这个题虽然简单,但是一开始我也没做利索。
我思路不简洁的地方有:
1.首先我想到的是符号问题,因此我用了flag来标记x的正负。可实际并不需要。
2.其次是n得正负问题,我们不用先计算后取倒数,而是直接取倒数在运算。
1 public double myPow(double x, int n) { 2 if (n == 0) { 3 return 1; 4 } 5 if (n < 0) { 6 n = -n; 7 x = 1 / x; 8 } 9 double res = myPow(x, n / 2); 10 if (n % 2 == 0) { 11 return res * res; 12 }else{ 13 return res * res * x; 14 } 15 }
原文:http://www.cnblogs.com/gonuts/p/4647495.html