693. Binary Number with Alternating Bits

原题地址: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))

所有题目解题方法和答案代码地址:https://github.com/fredfeng0326/LeetCode
    原文作者:fred_33c7
    原文地址: https://www.jianshu.com/p/d65e64e57a05
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞