142. O(1)時間檢測2的冪次
中文English
用 O(1) 時間檢測整數 n 是否是 2 的冪次。
樣例
Example 1:
Input: 4
Output: true
Example 2:
Input: 5
Output: false
代碼區:
class Solution {
/*
* @param n: An integer
* @return: True or false
*/
public boolean checkPowerOf2(int n) {
// write your code here
boolean flag=false;
if (n<=0) {
flag=false;
}
else if (n==1) {
flag=true;
} else if((n%2)!=0)
{
flag=false;
}else if (n==1) {
flag=true;
}else if((n%2)==0)
{
int temp=n;
while(temp>=0)
{
if(temp==2)
{
flag=true;
break;
}else if((temp%2)==0)
{
temp=temp/2;
}
else
{
flag=false;
break;
}
}
}else
{
flag=false;
}
return flag;
}
};