您的位置:首页 > 其它

LeetCode 50 Pow(x, n)

2018-01-24 22:44 337 查看
递归分解成子问题解决:

class Solution {
public double myPow(double x, int n) {

if(n==0) return 1;

if(n>0){
if(n%2==0)
return myPow(x*x,n/2);
else
return myPow(x*x,n/2)*x;
}
if(n<0) {
//必须-(n/2) 不可以-n/2会溢出
//如果n是-2147483648
//-n就是2147483648
//溢出
if(n%2==0)
return 1/myPow(x*x,-(n/2));
else
return 1/myPow(x*x,-(n/2))/x;
}
return 0;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode