1. 程式人生 > >693. 交替位二進位制數

693. 交替位二進位制數

給定一個正整數,檢查他是否為交替位二進位制數:換句話說,就是他的二進位制數相鄰的兩個位數永不相等。

示例 1:

輸入: 5 輸出: True 解釋: 5的二進位制數是: 101 示例 2:

輸入: 7 輸出: False 解釋: 7的二進位制數是: 111 示例 3:

輸入: 11 輸出: False 解釋: 11的二進位制數是: 1011 示例 4:

輸入: 10 輸出: True 解釋: 10的二進位制數是: 1010

解答:判斷二進位制相鄰的兩個數是否相等。

class Solution(object):
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
a = bin(n)[2:] for i in range(len(a) - 1): if int(a[i]) ^ int(a[i + 1]) == 0: return False return True

看到一個骨骼清奇的程式碼:

class Solution(object):
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
        a =
bin(n) if '00' in a or '11' in a: return False return True

人家這思路,不容易想到呀!