DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Binary Number with Alternating Bits

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
Enter fullscreen mode Exit fullscreen mode

Top comments (0)