Description
Solution 1(C++)
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<=0) return false;
return !(n&(n-1));
}
};
后续更新
其他类似的题目可以参考:
算法分析
吃了英语没看懂的亏,其实这道题就是问给了一个数,来判断这个数是不是2的幂。换成2进制来看,就会发现2的幂的二进制只有最高为是1.那么n与n-1做和,如果n为幂,结果应该为0.
程序分析
略。