题目链接:点击这里
n&(n-1)
作用:将n的二进制表示中的最低位为1的改为0
2的幂,其二进制形式如下:
1:1
2:10
4:100
8:1000
16:10000
可见,如果n&(n-1)
得到的结果是0,则为2的幂。
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<=0) return false;
return (n&(n-1))==0;
}
};