Leetcode 50. Pow(x, n) (Medium) (cpp)
Tag: Binary Search, Math
Difficulty: Medium
/*
50. Pow(x, n) (Medium)
Implement pow(x, n).
*/
class Solution {
public:
double myPow(double x, int n) {
if (n == 0) {
return 1;
}
if (n < 0) {
if (n == INT_MIN) {
return 1 / x * myPow(x, n + 1);
}
x = 1 / x;
n = -n;
}
double temp = myPow(x, n / 2);
return n % 2 ? x * temp * temp : temp * temp;
}
};