Binary Number with Alternating Bits

https://leetcode.com/problems/binary-number-with-alternating-bits/description/

class Solution {
    public boolean hasAlternatingBits(int n) {
        int last = n % 2, cur;
        n /= 2;
        while(n != 0){
            cur = n % 2;
            if(cur == last){
                return false;
            }

            n /= 2;
            last = cur;
        }

        return true;
    }

}

Integer.toBinaryString(n);

public boolean hasAlternatingBits(int n) {
    String bits = Integer.toBinaryString(n);
    for (int i = 0; i < bits.length() - 1; i++) {
        if (bits.charAt(i) == bits.charAt(i+1)) {
            return false;
        }
    }
    return true;
}
public boolean hasAlternatingBits(int n) {
    return Integer.toBinaryString(n).matches("(10)*1?");
}

results matching ""

    No results matching ""