题目大意:给出一个数,判断它是否是2的整数次幂。
算法思想:
1.如果n小于0返回false。
2.将n转化为二进制形式存储在bitset中。
3.计算n的二进制形式中1的个数,如果1的的个数为1则说明它是2的整数次幂,反之不是。
代码如下:
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<0) return false;
bitset<32> bitset(n);
if(bitset.count()==1) return true;
else
return false;
}
};