Skip to content
On this page

50. Pow(x, n)

原题链接:LeetCode 50. Pow(x, n)

题目描述

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:

  • 输入: x = 2.00000, n = 10
  • 输出: 1024.00000

示例 2:

  • 输入: x = 2.10000, n = 3
  • 输出: 9.26100

示例 3:

  • 输入: x = 2.00000, n = -2
  • 输出: 0.25000
  • 解释: 2-2 = 1/22 = 1/4 = 0.25

提示:

  • -100.0 < x < 100.0

    -231 <= n <= 231-1

  • n 是一个整数

  • 要么 x 不为零,要么 n > 0

    -104 <= xn <= 104

难度: Medium


题解代码

javascript
/**
 * @param {number} x
 * @param {number} n
 * @return {number}
 */
var myPow = function(x, n) {
  if (x === 1 || n === 0) return 1
  if (n < 0) return 1 / helper(x, Math.abs(n))
  return helper(x, n)
};

function helper (x, n) {
  if (n === 1) return x
  if (n % 2) {
    const res = helper(x, (n - 1) / 2)
    return res * res * x
  }
  if (n % 2 === 0) {
    const res = helper(x, n / 2)
    return res * res
  }
}

技术文档集合