231. Power of Two
1. Description
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$.
2. Example
Example 1:
Input: n = 1
Output: true
Explanation: $2^0$ = 1
Example 2:
Input: n = 16
Output: true
Explanation: $2^4$ = 16
Example 3:
Input: n = 3
Output: false
Example 4:
Input: n = 4
Output: true
Example 5:
Input: n = 5
Output: false
3. Constraints
$-2^{31}$ <= n <= $2^{31} - 1$
4. Solutions
My Accepted Solution
Time complexity: O(1)
Space complexity: O(1)
class Solution
{
public:
// bool isPowerOfTwo(int n)
bool isPowerOfTwo(int num)
{
if(num == 0) return false;
while(true)
{
if(num & 1)
{
return ((num >> 1) == 0);
}
else
{
num >>= 1;
}
}
}
};