Count Binary Substrings

Given a binary string s, return the number of non-empty substrings that have the same number of 0's and 1's, and all the 0's and all the 1's in these substrings are grouped consecutively.

Substrings that occur multiple times are counted the number of times they occur.

Example 1
Inputs = "00110011"
Output6
There are 6 substrings that have equal numbers of consecutive 1's and 0's: "0011", "01", "1100", "10", "0011", and "01"; repeated substrings are counted each time they occur, and "00110011" is invalid because all the 0's and 1's are not grouped together.
Example 2
Inputs = "10101"
Output4
There are 4 substrings: "10", "01", "10", and "01" that have equal numbers of consecutive 1's and 0's.

Constraints

  • 1 <= s.length <= 10^5
  • s[i] is either '0' or '1'.

Asked at 18 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate