342. 4的幂

题目

给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false

整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x

示例1:

1
2
输入: 16
输出: true

示例2:

1
2
输入: 5
输出: false

示例3:

1
2
输入:n = 1
输出:true

提示:

  • -2^31 <= n <= 2^31 - 1

进阶:

你能不使用循环或者递归来完成本题吗?

解法

解法一:

使用对数

Java

1
2
3
4
5
6
7
8
9
class Solution {
public boolean isPowerOfFour(int num) {
if (num < 1) {
return false;
}
double logAns = Math.log10(num) / Math.log10(4);
return (logAns - (int)logAns == 0) ? true : false;
}
}
0%