luoheng
10/27/2019 - 11:04 AM

countBinarySubstrings

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
}