[LeetCode&Python] Problem 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.
 
class Solution:
    def hasAlternatingBits(self, n):
        """
        :type n: int
        :rtype: bool
        """
        b=bin(n)[2:]
        
        l=len(b)
        flag=True
        
        for i in range(l):
            if i!=l-1:
                if b[i]==b[i+1]:
                    flag=False
                    break
        
        return flag

  

猜你喜欢

转载自www.cnblogs.com/chiyeung/p/9821028.html
今日推荐