LeetCode 1221. 分割平衡字符串
在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。
给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
返回可以通过分割得到的平衡字符串的最大数量。
题目有异议,如RRRLLRLL,按测试用例的要求,即从头到尾算起,应该是1,但可将其分为R RRLL RL L,这样答案应为2,总之题目将其简化了,思路就简单了,声明一个计数器,遇到L加1,遇到R减1,最终为0时结果加1:
class Solution {
public:
int balancedStringSplit(string s) {
int res = 0, cur = 0;
for (char c : s) {
if (c == 'L') {
++cur;
} else {
--cur;
}
if (cur == 0) {
++res;
}
}
return res;
}
};