LeetCode每日一题: 学生出勤记录 I(No.551)

368 阅读1分钟

题目:学生出勤记录 I


 给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤记录判断他是否会被奖赏。

示例:


输入: "PPALLP"
输出: True

输入: "PPALLL"
输出: False

思考:


循环遍历字符串s,用一个aCount记录A出现次数大于1次返回false,循环判断是否又连续三个L出现,有返回false。

实现:


 class Solution {
    public boolean checkRecord(String s) {
        int aCount = 0;
        for (int count = 0; count < s.length(); count++) {
            if (s.charAt(count) == 'A' && ++aCount > 1) {
                return false;
            }
            if (count < s.length() - 2 && s.charAt(count) == 'L' && s.charAt(count + 1) == 'L'&& s.charAt(count + 2) == 'L') {
                return false;
            }
        }
        return true;
    }
}