342. Power of Four #
题目 #
给定一个整数,判断它是否是 4
的幂次方。
思路 #
某个整数是 4
的幂次需要满足三个条件:
- 正数
- 二进制表示中只含有一位
1
- 二进制表示中最高位
1
所在比特位为偶数
代码 #
class Solution {
public boolean isPowerOfFour(int n) {
if (n <= 0) return false;
boolean found = false;
for (int i = 31; i >= 0; i--) {
if (((n >> i) & 1) == 1) {
if ((i & 1) == 1 || found == true) return false;
found = true;
}
}
return true;
}
}