java.lang.Object
g0601_0700.s0696_count_binary_substrings.Solution

public class Solution extends java.lang.Object
696 - Count Binary Substrings.

Easy

Give 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:

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.

Constraints:

  • 1 <= s.length <= 105
  • s[i] is either '0' or '1'.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    countBinarySubstrings(java.lang.String s)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • countBinarySubstrings

      public int countBinarySubstrings(java.lang.String s)