首页 > 代码库 > 231. Power of Two

231. Power of Two

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

Solution1:

检查1的个数,略麻烦。

public class Solution {    public boolean isPowerOfTwo(int n) {        if(n==0||n==Integer.MIN_VALUE)        {            return false;        }        int count=0;        for(int i=0;i<=32;i++)        {            if(count>1)            {                return false;            }            if(((n>>>i)&1)==1)            {                count++;            }        }        return true;    }}

Solution2:

清零法,跟之前有一道题目很像

public class Solution {    public boolean isPowerOfTwo(int n) {        if(n<=0)        {            return false;        }        return (n&(n-1))==0;    }}

 

231. Power of Two