Number of Ways to Split a String
Given a binary string s, you can split s into 3 non-empty strings s1, s2, and s3 where s1 + s2 + s3 = s.
Return the number of ways s can be split such that the number of ones is the same in s1, s2, and s3. Since the answer may be too large, return it modulo 10^9 + 7.
Example 1
Input
s = "10101"Output
4There are four ways to split
s into 3 parts where each part contains the same number of letters '1'.Example 2
Input
s = "1001"Output
0There is no way to split
s into 3 non-empty parts with the same number of ones.Constraints
- 3 <= s.length <= 10^5
- s[i] is either '0' or '1'.