首页 > 代码库 > LintCode-O(1) Check Power of 2

LintCode-O(1) Check Power of 2

Using O(1) time to check whether an integer n is a power of 2.

Example

For n=4, return true

For n=5, return false

Challenge

O(1) time

Analysis:

Use bit manipulation. Be carefull about the 0 and negtive integer.

Solution:

 1 class Solution { 2     /* 3      * @param n: An integer 4      * @return: True or false 5      */ 6     public boolean checkPowerOf2(int n) { 7         if (n<=0) return false; 8         boolean res = ((n & (n-1))==0) ? true : false; 9         return res;10     }11 };

 

LintCode-O(1) Check Power of 2