您的位置:首页 > 其它

【leetcode】326. Power of Three 231. Power of Two 342. Power of Four

2016-05-05 15:19 405 查看
这三道题做法一致,以326.Power of Three 为例

题目要求:

Given an integer, write a function to determine if it is a power of three.

Follow up:

Could you do it without using any loop / recursion?
给定一个整数,判断是不是3的幂
这里给出三种方法

public class Solution {
public boolean isPowerOfThree(int n) {
//循环
if(n==1)
{
return true;
}

while(n>0)
{
if(n%3!=0)
{
return false;
}
n=n/3;
if(n==3||n==1)
{
return true;
}
}
return false;
 
//递归
if(n==1)
{
return true;
}
if(n<=0)
{
return false;
}
if(n%3!=0)
{
return false;
}
if(n==3||n==1)
{
return true;
}
return isPowerOfThree(n/3);
 
//不循环不递归
if(n==1)
{
return true;
}
if(n<=0)
{
return false;
}
return (Math.log10(n)/Math.log10(3))%1==0;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: