Skip to content

693. Binary Number With Alternating Bits

Bit Manipulation

Problem - Binary Number With Alternating Bits

Easy

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

Solutions

1
2
3
4
5
6
7
class Solution:
    def hasAlternatingBits(self, n: int) -> bool:
        # n ^= n // 2
        # return n & (n + 1) == 0

        bin_rep = bin(n)
        return not ("00" in bin_rep or "11" in bin_rep)

Submission Stats:

  • Runtime: 0 ms (100.00%)
  • Memory: 17.6 MB (77.46%)