标签:
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; } }
标签:
原文地址:http://www.cnblogs.com/Machelsky/p/5874838.html