1. 题目原址
https://leetcode.com/problems/student-attendance-record-i/
2. 题目描述
3. 题目大意
给定一个字符串,包含三类字母:A、L、P,如果超过2个A或者连续有三个以上的L出现,那么就返回false,否则返回true
4. 解题思路
使用两个变量来记录L和A字符出现的次数,如果超过给定的次数就返回false。
5. AC代码
class Solution {
public boolean checkRecord(String s) {
int length = s.length();
int l = 0, a = 0;
for(int i = 0; i < length; i++) {
if(s.charAt(i) == 'L') { // 需要连续三个L,才能返回false
l++;
if (l == 3)
return false;
}
else{ // 如果是不连续的,则将L的频率计数置为0
l = 0;
}
if(s.charAt(i) == 'A') { // 如果有两个A存在,才能返回false
a ++;
if(a == 2)
return false;
}
}
return true;
}
}
6. 相似题目
【1】 552. Student Attendance Record II 题目原址:https://leetcode.com/problems/student-attendance-record-ii/