自己写的,效率还行
分两步,第一步:超过两个则 false。
第二步:连续的三个L ,那么用队列Queue解决。
public class Solution {
public bool CheckRecord(string s) {
int a= s.Count(p => p=='A');
if (a>1)
{
return false;
}
Queue<char> str = new Queue<char>();
for (int i = 0; i < s.Length; i++)
{
str.Enqueue(s[i]);
}
int r = 0;
for (int i = 0; i < s.Length; i++)
{
var cur = str.Dequeue();
if (cur=='L')
{
r++;
if (r==3)
{
return false;
}
}
if (cur!='L')
{
r = 0;
}
}
return true;
}
}