这道题题意不难 但是不用循环或者递归的话 还是有点难度的
class Solution {
public boolean isPowerOfThree(int n) {
if(n == 0) return false;
int x = (int) (Math.log10(n)/Math.log10(3));
return Math.pow(3,x)==n;
}
}
第二种比较有意思
如果只有一个1 其他都是0 说明是3的幂 三进制
public class Solution {
public boolean isPowerOfThree(int n) {
return Integer.toString(n, 3).matches("^10*$");
}
}