看着击败越来越多好上头呀,题不难
class Solution {
public:
bool checkRecord(string s) {
int A_count = 0, L_count = 0;
int i = 0;
while(s[i]!='\0')
{
if(s[i] == 'A')
A_count++;
else if(s[i] == 'L')
L_count++;
else;
if(A_count>=2)
return false;
i++;
}
i = 0;
if(L_count >= 3)
{
while(s[i]!='\0')
{
if(s[i] == 'L')
{
if(s[i+1]=='\0' || s[i+2]=='\0')
return true;
if(s[i+1] == 'L'&&s[i+2] == 'L')
return false;
}
i++;
}
}
return true;
}
};
感觉时间方面可以继续优化的,因为我们已经有L的个数了,那么可以在第二个循环里面可以继续优化,每看到一个L就减一,当判断L的个数少于3时,即可返回true;