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: 101Example 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 """ s = bin(n) for i in range(2,len(s)-1): if s[i]=='1': if s[i+1]!='0': return False else: if s[i+1]!='1': return False return True