Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values.
Example 1:
Input: n = 5
Output: true
Explanation: The binary representation of 5 is: 101
Example 2:
Input: n = 7
Output: false
Explanation: The binary representation of 7 is: 111.
Example 3:
Input: n = 11
Output: false
Explanation: The binary representation of 11 is: 1011.
Constraints:
-
1 <= n <= 231 - 1
SOLUTION:
class Solution:
def hasAlternatingBits(self, n: int) -> bool:
bi = "{:b}".format(n)
for i, c in enumerate(bi):
if i > 0:
if c == bi[i - 1]:
return False
return True
Top comments (0)