认为这几个题目还是相似的类型,可放在一起进行分析。
231题目:2的幂
首先对数据进行排除,小于1的数先排除;其余的数开始进行除2判断,除2有余数的不是,返回false,对数字进行不断的除2;
class Solution {
public boolean isPowerOfTwo(int n) {
if(n<1)
return false;
while(n!=1){
if(n%2==1)
return false;
n=n/2;
}
return true;
}
}
326题目:3的幂
class Solution {
public boolean isPowerOfThree(int n) {
if(n<=0)
return false;
while (n%3==0)
n/=3;
return n==1;
}
}
342题目:4的幂
class Solution {
public boolean isPowerOfFour(int n) {
if(n<0)
return false;
while(n!=0&&n%4==0){
n/=4;
}
return n==1;
}
}