# 原题

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例 1:

输入: 1
输出: true
解释: 20 = 1
示例 2:

输入: 16
输出: true
解释: 24 = 16
示例 3:

输入: 218
输出: false

# 解 1:

var isPowerOfTwo = function (n) {
    let sum = 1
    //只要 2 的幂还小于 n ,就一直继续
    while (sum < n) {
        sum *= 2
    }
    return sum === n ? true : false
};

# 解 2:

var isPowerOfTwo = function (n) {
    //判断求底运算后是否为整数
    return Number.isInteger(Math.log2(n))
};
Last Updated: 4/3/2020, 6:21:54 PM