提示
LintCode中的相关算法题实现代码,可以在我的GitHub中下载。
题目需求
用 O(1) 时间检测整数 n 是否是 2 的幂次。
样例
n=4
,返回 true
;
n=5
,返回 false
.
挑战
O(1) time
解题思路
2的幂次,表明在二进制中,只有一个1.
实现代码
class Solution {
public:
/**
* @param n: An integer
* @return: True or false
*/
bool checkPowerOf2(int n) {
// write your code her
if(n<=0) return false;
int num=(n-1)&n;
if(num==0) return true;
return false;
}
};