Question

Given an integer, write a function to determine if it is a power of two.

Example 1:

Input: 1 Output: true Explanation: 20 = 1

Example 2:

Input: 16 Output: true Explanation: 24 = 16

Example 3:

Input: 218 Output: false

Difficulty:Easy

Category:Math, Bit-Manipulation

Analyze

Solution

class Solution {
 public:
  bool isPowerOfTwo(int n) {
    bitset<32> bit(n);
    return n > 0 && bit.count() == 1;
  }
};

Solution 2

class Solution {
 public:
  bool isPowerOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }
};
By guozetang            Updated: 2020-09-19 13:02:30

results matching ""

    No results matching ""