Power Of Two
思路一: 观察 2 的 n 次方的二进制,都只有一位 1 bit,遍历即可
public boolean isPowerOfTwo(int n) {
if (n <= 0) return false;
int count = 0;
for (int i = 0; i < 32; i++) {
if ((n & 1) == 1) {
count++;
}
if (count >= 2) return false;
n >>= 1;
}
return true;
}
思路二: n & (n - 1) == 0,位运算技巧
思路三: 由于答案限制了范围,32 位整形最大是 2^30,用这个来取余,判断是否为零,思路很巧妙
标签:false,231,easy,return,思路,leetcode From: https://www.cnblogs.com/iyiluo/p/16817867.html