func countBinarySubstrings(s string) int {
b1, b2, sum := 0, 0, 0
var last byte
for i := 0; i < len(s); i++ {
if s[i] == '0' {
if last != '0' {
b1 = 0
}
b1++
if b1 <= b2 {
sum++
}
} else if s[i] == '1' {
if last != '1' {
b2 = 0
}
b2++
if b2 <= b1 {
sum++
}
}
last = s[i]
}
return sum
}