Power Of Two Problem
Description
LeetCode Problem 231.
Given an integer n, return true if it is a power of two. Otherwise, return false.
An integer n is a power of two, if there exists an integer x such that n == 2^x.
Example 1:
1
2
3
Input: n = 1
Output: true
Explanation: 2^0 = 1
Example 2:
1
2
3
Input: n = 16
Output: true
Explanation: 2^4 = 16
Example 3:
1
2
Input: n = 3
Output: false
Example 4:
1
2
Input: n = 4
Output: true
Example 5:
1
2
Input: n = 5
Output: false
Constraints:
- -2^31 <= n <= 2^31 - 1
Sample C++ Code
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
bool isPowerOfTwo(int n) {
if (n <= 0)
return false;
while (n > 1) {
if (n & 1 == 1)
return false;
n = n >> 1;
}
return true;
}
};