# 检测2的幂次
# 难度:简单
# 描述:
检测整数 n 是否是 2 的幂次
# 样例:
n=8,返回 true;
n=10,返回 false.
# 思路分析:
使用Math.pow()
来检测当前值是否为2的幂次
# 代码模板:
/**
* @param n: An integer
* @return: True or false
*/
const checkPowerOf2 = function (n) {
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 想一想再看答案
# 想一想再看答案
# 想一想再看答案
# 代码:
const checkPowerOf2 = function (n) {
var i = 0
// 一步步增加2的幂次 并对比
while (i < 32) {
let multiple = Math.pow(2, i); // 当前幂次
if (n === multiple) {
return true // 是2的幂次
}
if (multiple > n) return false; // n小于当前幂次 return false 取消无 用遍历 缩短运行时间
i++
}
return false
}
console.log(checkPowerOf2(8),checkPowerOf2(10));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14