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.
Constraints:
1 <= n <= 231 - 1
思路一:遍历每位 bit,检测是否符合条件
public boolean hasAlternatingBits(int n) {
int bit = (n & 1) == 1 ? 1 : 0;
n >>= 1;
while (n > 0) {
if ((n & 1) == 1) {
if (bit == 1) {
return false;
}
bit = 1;
} else {
if (bit == 0) {
return false;
}
bit = 0;
}
n >>= 1;
}
return true;
}
标签:693,false,Explanation,return,easy,Input,Output,bit,leetcode
From: https://www.cnblogs.com/iyiluo/p/16874804.html