Pow(x, n) - LeetCode
C++ Code
class Solution {
double pow(double x, long long n) {
if(n==0)
return 1;
if(n%2==0) {
return pow(x*x, n/2);
} else {
return x*pow(x, n-1);
}
}
public:
double myPow(double x, int n) {
if(n>=0)
return pow(x, n);
return 1/pow(x, abs(n));
}
};
TypeScript Code
function pow(x: number, n: number): number {
if(n==0) return 1;
if(n%2==0) {
return pow(x*x, n/2);
} else {
return x*pow(x, n-1);
}
}
function myPow(x: number, n: number): number {
if(n>=0) {
return pow(x, n);
} else {
return 1/pow(x, Math.abs(n));
}
};
Go Code
func pow(x float64, n int) float64 {
if n == 0 {
return 1;
}
if n%2 == 0 {
return pow(x*x, n/2);
} else {
return x*pow(x, n-1);
}
}
func myPow(x float64, n int) float64 {
if n >= 0 {
return pow(x, n);
} else {
return 1/pow(x, -n);
}
}