Description
Submission
class Solution { public: double myPow(double x, long n) { if(abs(x - 1) < 1e-10) return 1; bool isNeg = false; if(n < 0) { isNeg = true; n = -n; } if(abs(x + 1) < 1e-10) { return (n % 2 == 1) ? -1 : 1; } double res = 1; while(n--) { res *= x; if(abs(res) < 1e-10) { res = 0; break; } if(isNeg && res > 1e10) return 0; } return isNeg ? 1 / res : res; } };