O(1)检测2的幂次
class Solution { public: /* * @param n: An integer * @return: True or false */ bool checkPowerOf2(int n) { // write your code here if(n <= 0) return false; int sum = 0; while(n){ sum += (n&1); n >>= 1; } if(sum == 1) return true; return false; } };
2的幂,二进制表示为 1...0...,最高位为1,其余为0