[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:
Input: 5 Output: True Explanation: The binary representation of 5 is: 101
Example 2:
Input: 7 Output: False Explanation: The binary representation of 7 is: 111.
Example 3:
Input: 11 Output: False Explanation: The binary representation of 11 is: 1011.
Example 4:
Input: 10 Output: True Explanation: The binary representation of 10 is: 1010.
思路:
如果相邻两位相同则为false。
bool hasAlternatingBits(int n) { vector<int>bit; while(n>0) { bit.push_back(n%2); n/=2; } for(int i=1;i<bit.size();i++) { if(bit[i]==bit[i-1])return false; } return true; }