算法笔记: 力扣#693 交替位二进制数

问题描述


解法


分析

Python 实现

1
2
3
4
5
6
7
8
9
10
11
class :
def hasAlternatingBits(self, n):
"""
:type n: int
:rtype: bool
"""
s = bin(n)[2:]
for i in range(0, len(s)-1):
if s[i] == s[i+1]:
return False
return True

Java 实现

1
2
3
4
5
6
7
8
9
10
11
12
class {
public boolean hasAlternatingBits(int n) {
String s = Integer.toBinaryString(n);
for(int i = 0; i < s.length() - 1; i++){
if(s.charAt(i) == s.charAt(i+1)){
return false;
}
}
return true;
}
}

时间复杂度

O(1).

空间复杂度

O(1).

链接


693. Binary Number with Alternating Bits
693. 交替位二进制数
(English version) Algorithm Notes: Leetcode#693 Binary Number with Alternating Bits