判断一个数是否是2的次方;
思路:
2的次方是1, 2, 4, 8, 16, 32 *
其对应的二进制是1, 10, 100, 1000, 10000, 10000 *
隐藏条件:2的次方肯定大于0
又因为输入是整数,因此可以排除结果是负数的情况;
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<=0)
return false;
return 0==(n&(n-1));
}
};