python--leetcode693. Binary Number with Alternating Bits

来源:互联网 发布:php架构师书籍 编辑:程序博客网 时间:2024/05/16 16:14

Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values.

Example 1:

Input: 5Output: TrueExplanation:The binary representation of 5 is: 101

Example 2:

Input: 7Output: FalseExplanation:The binary representation of 7 is: 111.

Example 3:

Input: 11Output: FalseExplanation:The binary representation of 11 is: 1011.

Example 4:

Input: 10Output: TrueExplanation:The binary representation of 10 is: 1010.


题目意思就是给你一个数,问你这个数的二进制是否有两个相邻位置相等。
思路很简单,上代码:
class Solution(object):    def hasAlternatingBits(self, n):        """        :type n: int        :rtype: bool        """        flag=n%2        n=n//2        a=1        while n>0:            if n%2==flag:                return False            flag=n%2            n=n//2        return Trues=Solution()print(s.hasAlternatingBits(11))
我觉得这种解法是最清晰明了的。

原创粉丝点击