给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false
public boolean isPowerOfFour(int num) {
// num 为 0 不满足
if (num == 0) {
return false;
}
// 4 的幂次方可能能被 4 整除
while (num % 4 == 0) {
num /= 4;
}
// 将最后的 num 和 1 进行比较,如果是 4 的幂次方,那么最后的 num 应该是 1,如果不是,那么最后的 num 就不是 1
return num == 1;
}