4的幂
4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。
示例 1:
1 | 输入: 16 |
示例 2:
1 | 输入: 5 |
进阶:
你能不使用循环或者递归来完成本题吗?
代码
循环
1 | public boolean isPowerOfFour(int num) { |
递归
1 | public boolean isPowerOfFour(int num) { |
进阶
- 3的幂中有提到过的正则
Integer
的bitCount(int i)
方法判断2的幂,再用i%3==1
或者(0x55555555 & num) == num
来判断- 写死,
int
范围内4的幂的个数有16个,性能相较于3的幂有些许提升
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 YD Blog!