力扣小白刷题之696题计数二进制子串

题目描述

给定一个字符串 s,计算具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中所有 0 和所有 1 都是组合在一起的。

重复出现的子串要计算它们出现的次数。

思路

参考自:https://leetcode-cn.com/problems/count-binary-substrings/solution/yi-ge-bi-jiao-qiao-miao-de-ban-fa-by-uygn9i8c6n/

定义两个变量 preLen 和 curLen,分别表示前面连续字符串中字符的个数和现在连续字符串中字符的个数。
当前字符和上一个字符相等时 curLen++,不相等时 preLen = curLen,然后设 curLen设为 1.
如果 preLen >= curLen,那么结果 count++。

代码

力扣小白刷题之696题计数二进制子串