Leetcode 693.交替位二进制数
1 题目描述(Leetcode题目链接)
给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。
输入: 5
输出: True
解释:
5的二进制数是: 101
2 题解
效率并不高。。
class Solution:
def hasAlternatingBits(self, n: int) -> bool:
return n + (n>>1) + 1 == 2**int(math.log(n,2)+1)