LeetCode Python算法算法提高之LeetCode刷题

693. Binary Number with Alternat

2018-07-17  本文已影响0人  fred_33c7

原题地址:https://leetcode.com/problems/binary-number-with-alternating-bits/description/
大意:判断一个数的二进制数是不是0和1相间的。

思路:通过“与1”的方法得到最后一位,然后数字右移,判断跟之前的最后一位相不相同。

class Solution:
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
        last = n & 1
        n >>= 1
        while n :
            if last == (n & 1):
                return False
            last = n & 1
            n >>= 1
        return True

a = Solution()
print (a.hasAlternatingBits(5))
上一篇下一篇

猜你喜欢

热点阅读