一、题目描述
在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。
给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。
返回可以通过分割得到的平衡字符串的 最大数量 。
二、C语言代码
int balancedStringSplit(char * s){
int ret = 0;
int flag = 0; // 遇到一个L加1,遇到一个R减1,当为0时表示平衡
int lenth = strlen(s);
for(int i = 0; i < lenth; i++){
if(s[i] == 'L')
flag++;
else
flag--;
if(!flag)
ret++;
}
return ret;
}