领扣(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 }

 

posted @ 2018-11-11 23:40  AXiangCoding  阅读(164)  评论(0编辑  收藏  举报