3的幂 Posted on 2020-09-19 In Leetcode Views: Valine: 326. 3的幂给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 12输入: 27输出: true 示例 2: 12输入: 0输出: false 示例 3: 12输入: 9输出: true 示例 4: 12输入: 45输出: false 进阶:你能不使用循环或者递归来完成本题吗? 方法一:循环 12345678910111213class Solution { public boolean isPowerOfThree(int n) { if(n < 1){ return false; } while(n % 3 == 0){ n /= 3; } return n == 1; }} 方法二:整数限制 n 最大为 int 的最大值,我们将 int 范围内的最大 3 的幂次整数(1162261467)找出,如果它能整除 n ,则 n 为 3 的幂次。 123456class Solution { public boolean isPowerOfThree(int n) { return n > 0 && 1162261467 % n == 0; }}