lc693. Binary Number with Alternating Bits

170 阅读1分钟

693. 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: 5 Output: True Explanation: The binary representation of 5 is: 101 Example 2: Input: 7 Output: False Explanation: The binary representation of 7 is: 111. Example 3: Input: 11 Output: False Explanation: The binary representation of 11 is: 1011. Example 4: Input: 10 Output: True Explanation: The binary representation of 10 is: 1010.

思路:转为字符串,两两比较,相等返回False,遍历完返回True

代码:python3

class Solution:
    def hasAlternatingBits(self, n: int) -> bool:
        s=str(bin(n)[2:])
        for i in range(1,len(s)):
            if s[i]==s[i-1]:
                return False
        return True