leetcode-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:

1
2
3
4
Input: 5
Output: True
Explanation:
The binary representation of 5 is: 101

Example 2:

1
2
3
4
Input: 7
Output: False
Explanation:
The binary representation of 7 is: 111.

Example 3:

1
2
3
4
Input: 11
Output: False
Explanation:
The binary representation of 11 is: 1011.

Example 4:

1
2
3
4
Input: 10
Output: True
Explanation:
The binary representation of 10 is: 1010.

分析


判断一个数的二进制表示是否是1010…这样交替的,方法很多。

解决方案1(Java)


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

相关问题


(E) Number of 1 Bits

题目来源