题目来源:https://leetcode-cn.com/problems/student-attendance-record-i/
大致题意:
给定一个字符串,由 P、 A、 L 三类字母组成。
若字符串中字母 A 出现次数大于等于两次,字母 L 有连续出现(大于等于三次),则返回false;否则返回true。
思路
模拟
遍历查询字符串,一共遇到两个A,或者连续遇到三个L,直接退出返回false。
代码:
public boolean checkRecord(String s) {
boolean ans = true;
int absent = 0;
int late = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'A') {
absent++;
}
if (s.charAt(i) == 'L') {
late++;
}
// 不连续,置0
else {
late = 0;
}
if (absent == 2 || late == 3) {
ans = false;
break;
}
}
return ans;
}