[LeetCode] 342. 4的幂
4^x 其实可以等效于 22x,所以我们仍然是通过位运算求这个2y是多少,然后判断这个y是不是2的倍数就可以了。
class Solution {
public boolean isPowerOfFour(int n) {
if (n == 1) return true;
int cnt = 0;
int k = 0;
while (n > 0) {
if ((n & 1) == 1) {
k++;
}
cnt++;
n >>= 1;
}
return (k == 1) && (cnt % 2 == 1);
}
}