- 题目:判断一个数是否是4的指数
- 难度:Easy
思路:
- 一开始我想的是用位运算(先右移2位再左移两位,经过位运算之后的值是否等于原始值),但是这个思路其实是判断是否为4的倍数;
- 利用Java库方法Integer.toString(n, 几进制).matches(“regulation”) Java的toString方法能够将整型转成进制的string,然后通过正则判断就能知道结果(4的指数,转成4进制只能是只有最高位为1的进制数)
代码:
public class Solution {
public boolean isPowerOfFour(int num) {
return Integer.toString(num, 4).matches("10*");
}
}
- 拓展
相同的思路,可以知道判断一个数n是否为m的指数,都可以用Integer.toString(n,m).matches("10*")来判断