中等
给你一个仅由字符 '0' 和 '1' 组成的二进制字符串 s。
如果一个字符串中 0 和 1 的数量 相等,则称该字符串是 平衡 字符串。
你最多可以让 s 中任意两个字符进行 一次 交换。之后,从 s 中选出一个 平衡 子串。
返回一个整数,表示你能够选取的 平衡 子串的 最大 长度。
子串 是字符串中的一个连续字符序列。
示例 1:
输入: s = "100001"
输出: 4
解释:
- 交换
"100001"中标出的两个字符,字符串变为"101000"。 - 选择子串
"101000",它是平衡的,因为其中包含两个'0'和两个'1'。
示例 2:
输入: s = "111"
输出: 0
解释:
- 可以选择不进行任何交换。
- 选择空子串。空子串也是平衡的,因为它包含 0 个
'0'和 0 个'1'。
提示:
1 <= s.length <= 105s仅由字符'0'和'1'组成。