给你一个仅由 0
和 1
组成的二进制字符串 s
。
如果子字符串中 所有的 0
都在 1
之前 且其中 0
的数量等于 1
的数量,则认为 s
的这个子字符串是平衡子字符串。请注意,空子字符串也视作平衡子字符串。
返回 s
中最长的平衡子字符串长度。
子字符串是字符串中的一个连续字符序列。
示例 1:
输入:s = "01000111" 输出:6 解释:最长的平衡子字符串是 "000111" ,长度为 6 。
示例 2:
输入:s = "00111" 输出:4 解释:最长的平衡子字符串是 "0011" ,长度为 4 。
class Solution(object): def findTheLongestBalancedSubstring(self, s): """ :type s: str :rtype: int """ ans = 0 length = len(s) num_0 = 0 num_1 = 0 num = 0 for i in range(length): if(s[i]=='0'): num_0 = num_0 + 1 num_1 = 0 num = num_0 else: num_0 = 0 num_1 = num_1 + 1 if(num_1 <= num): ans=max(ans,num_1*2) return ans
标签:示例,2609,length,num,字符串,平衡 From: https://www.cnblogs.com/LYoungH/p/17818593.html