#696

Count Binary Substrings

pupil · 300 · lc easy +20 · verified · 70.3% accepted · 4,633 likes · top 79%

Description

Given a binary string s, count the non-empty substrings where the 0s and 1s appear in equal numbers and are each grouped together consecutively (e.g., "0011" or "1100"). Each distinct occurrence is counted separately.

Example 1:

Input: s = "00110011"
Output: 6
Explanation: There are 6 substrings that have equal number of consecutive 1's and 0's: "0011", "01", "1100", "10", "0011", and "01".
Notice that some of these substrings repeat and are counted the number of times they occur.
Also, "00110011" is not a valid substring because all the 0's (and 1's) are not grouped together.

Example 2:

Input: s = "10101"
Output: 4
Explanation: There are 4 substrings: "10", "01", "10", "01" that have equal number of consecutive 1's and 0's.

Code

1
2
3