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: 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 <= 2^31 - 1

代码

class Solution {
    
    
public:
    bool hasAlternatingBits(int n) {
    
    
        if(n % 2 == 0)
            n >>= 1;
        while(n)
        {
    
    
            if((n & 3) != 1)
                break;
            n >>= 2;
        }
        if(n)
            return false;
        return true;
    }
};

题后记

据说明天解封,加油吧!!

再见五月,
你好六月。

猜你喜欢

转载自blog.csdn.net/iLOVEJohnny/article/details/125073791
今日推荐