本题是贪心题目,虽然我好像没用啥贪心思想...
我的思路是设立一个flag值,初始化为0。遍历字符串,遇到字符R就flag++,遇到字符L就flag--。 每结束一轮循环,判断一下flag是否为0,为0则说明分割出一个平衡字符串了,让全局变量ans++。 遍历结束后返回ans。
代码如下:
- class Solution {
- public:
- int balancedStringSplit(string s) {
- int ans = 0;
- int flag = 0;
- for(int i=0; i
size(); i++) - {
- if(s[i] == 'R') flag++;
- else flag--;
- if(flag == 0) ans++;
- }
- return ans;
- }
- };