Skip to content
On this page

231. 2的幂

原题链接:LeetCode 231. 2的幂

题目描述

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false

如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

示例 1:

  • 输入: n = 1
  • 输出: true
  • 解释: 20 = 1

示例 2:

  • 输入: n = 16
  • 输出: true
  • 解释: 24 = 16

示例 3:

  • 输入: n = 3
  • 输出: false

提示:

-231 <= n <= 231 - 1

**进阶:**你能够不使用循环/递归解决此问题吗?

难度: Easy


题解代码

javascript
/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function(n) {
  return /^10*$/.test(n.toString(2))
};
// (2).toString(2)  10
// (3).toString(2)  11
// (4).toString(2)  100
// (5).toString(2)  101
// (6).toString(2)  110
// (7).toString(2)  111
// (8).toString(2)  1000

技术文档集合