50. Pow(x, n)

来源:互联网 发布:windows网络编程 视频 编辑:程序博客网 时间:2024/06/03 06:42

Implement pow(x, n).

public class Solution {    public double myPow(double x, int n) {        // Deal with corner case        if (x == 0) return 0.0;        if (n == 0) return 1.0;        double ans = 1.0;        // Seperate positive and negative cases:        if (n > 0) {            ans = myPowRecursive(x, n);            return ans;        } else {            ans = x * myPowRecursive(x, -(n + 1));            return 1.0 / ans;        }    }    public double myPowRecursive(double x, int n) {        if (n == 0) return 1.0;        if (n == 1) return x;        double res;        res = myPowRecursive(x, n/2);        if (n % 2 == 1)            return x * res * res;        else             return res * res;    }}
原创粉丝点击