题目描述
给定一个整数,判断其是否为2的幂次。
样例
Example 1:
Input: 1
Output: true
解释: 2^0 = 1
Example 2:
Input: 16
Output: true
解释: 2^4 = 16
Example 3:
Input: 218
Output: false
思路
位运算
例如
4,4-1=3,二进制下,100和011,正好每位都不同,与运算后变成零
class Solution {
public:
bool isPowerOfTwo(int n) {
return (n > 0) && (!(n & (n - 1)));
}
};