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

Example 1:

1
2
3
Input: 1
Output: true 
Explanation: 20 = 1

Example 2:

1
2
3
Input: 16
Output: true
Explanation: 24 = 16

Example 3:

1
2
Input: 218
Output: false

Solution:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
    public boolean isPowerOfTwo2(int n) {
        if (n == 0 ) {
            return false;
        }
        if (n == 1) {
            return true;
        }
        while (n % 2 == 0 && n > 2) {
            n = n / 2;
        }
        return n == 0 || n == 2;
    }
    public boolean isPowerOfTwo(int n) {
        if (n == 0 ) {
            return false;
        }
        if (n == Integer.MIN_VALUE) {
            return false;
        }
        return (n & (n - 1)) == 0;
    }
}