用 O(1) 时间检测整数 n 是否是 2 的幂次。
样例
n=4
,返回 true
;
n=5
,返回 false
.
挑战
O(1) time
class Solution {
/*
* @param n: An integer
* @return: True or false
*/
public boolean checkPowerOf2(int n) {
// write your code here
if(n<1){
return false;
}
return (n|(n-1))==2*n-1;
}
};