思路很简单,就是统计A和L的个数,A不用说,L的统计是这样的,不仅遇到L要加1,而且遇到不是L的字符要把L置0.这是我写的:
class Solution {
public:
bool checkRecord(string s) {
int countA = 0;
int countL = 0;
for(int i = 0; i < s.size(); ++i)
{
if(s[i] == 'A')
{
countA++;
countL = 0;
}
if(s[i] == 'L')
{
countL++;
if(countL > 2)
return false;
}
if(s[i] == 'P')
countL = 0;
}
if(countA > 1)
return false;
return true;
}
};
这么简单的东西我写太长了,一个else能解决的事儿我非得用三个if……看别人写的:
class Solution {
public:
bool checkRecord(string s) {
int a=0, l=0;
for(int i=0;i<s.size();i++) {
if(s[i]=='A') a++;
if(s[i]=='L') l++;
else l=0;
if(a>=2||l>2) return false;
}
return true;
}
};