题目地址
https://leetcode.com/problems/binary-number-with-alternating-bits/
题目描述
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: n = 5
Output: true
Explanation: The binary representation of 5 is: 101
Example 2:
Input: n = 7
Output: false
Explanation: The binary representation of 7 is: 111.
Example 3:
Input: n = 11
Output: false
Explanation: The binary representation of 11 is: 1011.
Example 4:
Input: n = 10
Output: true
Explanation: The binary representation of 10 is: 1010.
Example 5:
Input: n = 3
Output: false
思路
- Integer.toBinaryString. 拿到string.
- 每两位之间比较即可.
关键点
代码
- 语言支持:Java
class Solution {
public boolean hasAlternatingBits(int n) {
String str = Integer.toBinaryString(n);
for (int i = 0; i < str.length() - 1; i++) {
if (str.charAt(i) == str.charAt(i + 1)) {
return false;
}
}
return true;
}
}
网友评论