| func hasAlternatingBitsNaive(n int) bool {	for mask := ^(n & 1); n != 0; n >>= 1 {		next := n & 1		if mask == next {			return false		}		mask = next	}	return true}func hasAlternatingBits(n int) bool {	for n ^= n >> 1; n != 0 && n&1 == 1; n >>= 1 {	}	return n == 0}
 |