74. 3 的幂


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

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

/*
解题思路
1,暴力做法是循环,每次乘以3 直到大于n,这样做法会超时。。
2,为了加快循环速度,可以用对当前数乘方,min为上一个数,max为下一个数(乘方),判断n是否落在min和max之间
3,由于有乘方,所以需要long值计算
*/
class Solution {
    public boolean isPowerOfThree(int n) {
        if(n<0) return false;
        //if(n==1||n==3) return true;
        long k = 3l;
        long min = 1l, max = 1l;
        n = Math.abs(n);
        while(k