[LeetCode]342. Power of Four
题目描述
思路
位操作
4的幂次数的特点
写成二进制后只有一位为1,所以需要检测二进制数中1的位数
同时满足这条性质的有2^n(n > 0)的幂次,所以还需要检测是否为4的幂次
特点 4的幂次数 - 1 可以被三整除
代码
class Solution {
public:
bool isPowerOfFour(int n) {
return n > 0 && (n & (n - 1)) == 0 && (n - 1) % 3 == 0;
}
};