在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。
给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
返回可以通过分割得到的平衡字符串的最大数量。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/split-a-string-in-balanced-strings
哈希表的最简单应用了
class Solution:
def balancedStringSplit(self, s: str) -> int:
dt = {}
ans = 0
dt['L'], dt['R'] = 0, 0
for v in s:
dt[v] += 1
if v == 'L' and dt[v] == dt['R']:
ans += 1
dt[v], dt['R'] = 0, 0 #置0
elif v == 'R' and dt[v] == dt['L']:
ans += 1
dt[v], dt['L'] = 0, 0 #置0
return ans