题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。
题目地址:https://leetcode-cn.com/problems/powx-n/
思路:
因为n是整数,所以要么是奇数要么是偶数,递归算出x的n/2次,如果n是偶数则直接平方即可,如果n是奇数则平方后再乘以x,当n为负数时取倒数即可。
代码展示:
/**
* @ClassName Solution
* @Description
* @Author Administrator
* @Date 2020/6/7 17:23
* @Version 1.0
**/
class Solution {
public double myPow(double x, int n) {
return n >= 0 ? quickMul(x, n) : 1.0 / quickMul(x, -n);
}
public double quickMul(double x, int n){
if(n == 0)
return 1.0;
double result = quickMul(x, n / 2);
return n % 2 == 0 ? result * result : result * result * x;
}
}