題目
描述
用 O(1) 時間檢測整數(shù) n 是否是 2 的冪次冕房。
樣例
n=4
慎璧,返回 true
;
n=5
坦弟,返回 false
.
解答
思路
- 大于零划煮。
- 2的整數(shù)冪次的二進(jìn)制表示都是0...010...0,其減1后二進(jìn)制表示為0...001...1蹭劈,兩個數(shù)按位取且(&)等于零疗绣。
代碼
class Solution {
/*
* @param n: An integer
* @return: True or false
*/
public boolean checkPowerOf2(int n) {
// write your code here
return (n>0)&&((n&(n-1))==0);
}
};