领扣(LeetCode)3的幂 个人题解
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27 输出: true
示例 2:
输入: 0 输出: false
示例 3:
输入: 9 输出: true
示例 4:
输入: 45 输出: false
这题比较简单,循环或者递归可以解决问题。但是也可以使用对数求解的方法。这就输于数学的范畴了。由于是新手一开始没有想到。不过循环的做法时间比较快,也就没有继续深究下去了。
参考博客可以看: https://blog.csdn.net/hy971216/article/details/80634170
个人写的循环代码如下:
1 class Solution { 2 public boolean isPowerOfThree(int n) { 3 int i=3; 4 int test=i; 5 boolean ans=true; 6 while(test!=n) 7 { 8 test*=3; 9 if(test>n) 10 { 11 ans=false; 12 break; 13 } 14 } 15 return ans; 16 } 17 }