【递归】Pow(x, n)

题目链接:https://leetcode.cn/problems/powx-n/description/

cpp 复制代码
class Solution {
public:
    double myPow(double x, int n) 
    {
        return n < 0 ? 1.0 / Pow(x, -(long long)n) : Pow(x, n);
    }
    double Pow(double x, long long n)
    {
        if (n == 0) return 1.0;
        double tmp = Pow(x, n/2);
        return n % 2 == 0 ? tmp * tmp : tmp * tmp * x;
    }
};