遍历时记录0和1的个数即可
class Solution {
public:
int findTheLongestBalancedSubstring(string s) {
int res = 0, zero = 0, one = 0, n = s.size();
for (int i = 0 ; i < n; i ++)
{
if (s[i] == '0') {
// 出现0时,将前面出现的1的次数置零
if (one) one = 0, zero = 1;
else zero ++;
}
else
{
one ++;
res = max(res, min(one, zero));
}
}
return res * 2;
}
};