文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. Description
2. Solution
- Version 1
class Solution {
public:bool hasAlternatingBits(int n) {vector<int> bits;while(n) {bits.push_back(n & 1);n >>= 1;}for(int i = 0; i < bits.size() - 1; i++) {if(bits[i] == bits[i + 1]) {return false;}}return true;}
};
- Version 2
class Solution {
public:bool hasAlternatingBits(int n) {int pre = - 1;while(n) {int current = n & 1;if(pre != -1 && pre == current) {return false;}n >>= 1;pre = current;}return true;}
};
Reference
- https://leetcode.com/problems/binary-number-with-alternating-bits/description/