给你一个 二进制 字符串 s。
如果 s 的某个 前缀 的字符可以重新排列成一个 交替 字符串,那么该前缀被认为是 有效 的。
返回 s 中有效前缀的数量。
二进制 字符串是仅由 '0' 和 '1' 组成的字符串。
字符串的 前缀 是指从字符串的开头开始并延伸到其内任意点的 子字符串。
子字符串 是字符串中连续且 非空 的字符序列。
如果一个字符串中没有两个相邻字符相等,那么它被认为是 交替 的。
示例 1:
输入: s = "00101"
输出: 3
解释:
有效的前缀是:
"0":它已经是一个交替字符串。"001":可以被重新排列成 "010",这是一个交替字符串。"00101":可以被重新排列成 "01010",这是一个交替字符串。因此,答案是 3。
示例 2:
输入: s = "101"
输出: 3
解释:
s = "101" 的所有前缀都已经是交替字符串。因此,答案是 3。
提示:
1 <= s.length <= 100s 仅由 '0' 和 '1' 组成。