231. 2的幂

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1 输出: true 解释: 2 = 1 示例 2: 输入: 16 输出: true 解释: 2 = 16 示例 3: 输入: 218 输出: false

解题思路

位运算

是否是2的幂核心在于n的二进制表示中是否只有1个1bit

  1. class Solution {
  2. public:
  3. bool isPowerOfTwo(int n) {
  4. return (n > 0) && (n & (n-1)) == 0;
  5. }
  6. };