Binary Number with Alternating Bits

Easy
Watch on YouTube ↗

Solution

class Solution {
    public boolean hasAlternatingBits(int n) {
        int hbit = Integer.highestOneBit(n);
        int num = (hbit << 1) - 1;

        if(num == ((n >> 1) ^ n))
            return true;
        return false;
    }
}
/*

n =    1010
n>>1 = 0101

XOR =  1111

int hbit = Integer.highestOneBit(n)

hbit =    1000

hbit<<1 = 10000

minus one = 1111


*/