题目描述:
在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。
给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。
返回可以通过分割得到的平衡字符串的 最大数量 。
解题思路:
Python3+贪心
遍历字符串的同时记录L和R的个数
一旦两者个数相等则分割为一个平衡字符串计数加一
代码演示:
class Solution:
def balancedStringSplit(self, s: str) -> int:
left = right = 0
ans = 0
for a in s:
if a == "L":
left += 1
else:
right += 1
if left == right:
ans += 1
left = right = 0
return ans