主要利用int类型上限判断
int类型上限中,3的幂最大为1162261467,所以只要判断n是否是1162261467的因数就行。(3的幂个位数为1、3、7、9,这一步可以提前排除一些)
class Solution {
public:
bool isPowerOfThree(int n) {
if(n==1) return true;
if(n==0) return false;
if(n%10!=1 && n%10!=3 && n%10!=7 && n%10!=9) return false;
return n>0 && (1162261467 % n == 0);
}
};
作者:kutu1bw-i
链接:https://leetcode.cn/problems/power-of-three/solution/zhu-yao-li-yong-intlei-xing-shang-xian-p-fj6i/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。