Question:
Implement pow(x, n).
Solution:
public class Solution {
public double myPow(double x, int n) {
/*TLE
if(x==0)
return 0;
double res=1;
if(n==0)
return 1;
else if(n>0)
{
for(int i=1;i<=n;i++)
res=x*res;
}
else
{
for(int i=1;i<=-n;i++)
res=x*res;
res=(double)1/res;
}
return res;
*/
if(n == 0)
return 1;
if(n<0){
n = -n;
x = 1/x;
}
return (n%2 == 0) ? myPow(x*x, n/2) : x*myPow(x*x, n/2);
}
}
后来又加了一个TEST CASE,就要改代码,加上下面这一段
if(n == Integer.MIN_VALUE){
x = x * x;
n = n/2;
}