解题思路:
题解:
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
char s[N];
int prefix[N];
int ans = 0;
int main()
{
cin >> s + 1;
int n = strlen(s + 1);//字符数组的长度获取方法,不能用s.length()
for(int i = 1; i <= n; i++)//遍历都是到等于n结束
{
prefix[i] = prefix[i - 1] + (s[i] == 'L' ? -1 : 1);//Q与L是平衡串那区间前缀和为0
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
if(prefix[j] - prefix[i - 1] == 0)ans = max(ans, j - i + 1);//找到区间长度最大的
}
}
cout << ans;
return 0;
}