检查Python中a的每个组是否后面跟着相同长度的b的组

假设我们有一个仅包含两个字符a和b的小写字符串s。我们必须检查是否每组连续的a后面都是长度相等的连续的b组。

因此,如果输入类似于s =“ abaaabbbaabbaabbab”,则输出将为True,因为所有组均为(ab),(aaabbb),(aabb),(aabb),(ab)。

示例

让我们看下面的实现以更好地理解-

def solve(s):
   a_count = 0
   string_len = len(s)
   i = 0
   while i < string_len:
      while i < string_len and s[i] == 'a':
         a_count += 1
         i += 1
      while i < string_len and s[i] == 'b':
         a_count -= 1
         i += 1
      if a_count != 0:
         return False
   return True
s = "abaaabbbaabbaabbab"
print(solve(s))

输入值

"abaaabbbaabbaabbab"
输出结果
True

猜你喜欢