【050-Implement pow(x, n)(求x的n次方)】
【LeetCode-面试算法经典-Java实现】【所有题目目录索引】
原题
Implement pow(x, n).
题目大意
求x的n次方。
解题思路
递归求解。
代码实现
算法实现类
public class Solution {
public double myPow(double x, int n) {
if (x == 0 && n == 0) {
throw new IllegalArgumentException();
}
// 指数正负标记
boolean isNegative = false;
// 求n的绝对值
if (n < 0) {
n = -n;
isNegative = true;
}
double result = pow(x, n);
if (isNegative) {
return 1.0 / result;
} else {
return result;
}
}
public double pow(double x, int n) {
if (n == 0) {
return 1;
} else {
double result = pow(x, n / 2);
// n是奇数
if (n % 2 != 0) {
return x * result * result;
} else {
return result * result;
}
}
}
}
评测结果
点击图片,鼠标不释放,拖动一段位置,释放后在新的窗口中查看完整图片。
特别说明
欢迎转载,转载请注明出处【http://blog.csdn.net/derrantcm/article/details/47098373】
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-21 04:48:48