Leetcode 50. Pow(x, n)
Implement pow(x, n).
不得不说,面试题就是毒辣,总是让人容易出错,往往在最细节的地方,没面试过就渐渐有种阴影,不过会慢慢克服。
整型负数的最小值取相反数结果是溢出的,所以负数的情况要处理一下
class Solution { public: double myPow(double x, int n) { if(n == 0) return 1; if(n > 0) { double ans = 1; while(n) { if(n & 1) ans = ans * x; x = x *x; n >>= 1; } return ans; } return 1/x*myPow(1/x,-n-1); } };
如果有错误,请指出,谢谢