231. Power of Two

Bit

1
2
3
4
5
6
7
8
9
class Solution {
public boolean isPowerOfTwo(int n) {
if (n <= 0) {
return false;
}

return Integer.bitCount(n) == 1;
}
}

Bit

1
2
3
4
5
6
7
8
9
class Solution {
public boolean isPowerOfTwo(int n) {
if (n <= 0) {
return false;
}

return (n & (n - 1)) == 0;
}
}

Bit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Solution {
public boolean isPowerOfTwo(int n) {
switch (n) {
case 0b00000000_00000000_00000000_00000001:
case 0b00000000_00000000_00000000_00000010:
case 0b00000000_00000000_00000000_00000100:
case 0b00000000_00000000_00000000_00001000:
case 0b00000000_00000000_00000000_00010000:
case 0b00000000_00000000_00000000_00100000:
case 0b00000000_00000000_00000000_01000000:
case 0b00000000_00000000_00000000_10000000:
case 0b00000000_00000000_00000001_00000000:
case 0b00000000_00000000_00000010_00000000:
case 0b00000000_00000000_00000100_00000000:
case 0b00000000_00000000_00001000_00000000:
case 0b00000000_00000000_00010000_00000000:
case 0b00000000_00000000_00100000_00000000:
case 0b00000000_00000000_01000000_00000000:
case 0b00000000_00000000_10000000_00000000:
case 0b00000000_00000001_00000000_00000000:
case 0b00000000_00000010_00000000_00000000:
case 0b00000000_00000100_00000000_00000000:
case 0b00000000_00001000_00000000_00000000:
case 0b00000000_00010000_00000000_00000000:
case 0b00000000_00100000_00000000_00000000:
case 0b00000000_01000000_00000000_00000000:
case 0b00000000_10000000_00000000_00000000:
case 0b00000001_00000000_00000000_00000000:
case 0b00000010_00000000_00000000_00000000:
case 0b00000100_00000000_00000000_00000000:
case 0b00001000_00000000_00000000_00000000:
case 0b00010000_00000000_00000000_00000000:
case 0b00100000_00000000_00000000_00000000:
case 0b01000000_00000000_00000000_00000000:
return true;
default:
return false;
}
}
}

References

231. Power of Two