LeetCode-Pow(x, n)

来源:互联网 发布:古墓丽影 mac 编辑:程序博客网 时间:2024/06/15 08:44

Recursive:

public class Solution {    public double pow(double x, int n) {        if ( n == 0 )            return 1;        double half = pow ( x, n/2);        double res = 1.0;        if ( n % 2 == 0 ){            res = half * half;        }        else if ( n > 0)            res = half * half * x;        else             res = half * half / x;        return res;    }}

Iterative:

public class Solution {    public double pow(double x, int n) {        if ( n == 0 )            return 1;        double res = 1.0;        for ( int i = n; i != 0; i/=2 ){            if ( i % 2 != 0 )                res *= x;            x *= x;        }        if ( n < 0 )            res = 1.0/res;        return res;    }}


0 0
原创粉丝点击