您的位置:首页 > 其它

551. Student Attendance Record I

2017-08-08 14:51 441 查看

551. Student Attendance Record I

Problem Description

You are given a string representing an attendance record for a student. The record only contains the following three characters:

'A' : Absent.
'L' : Late.
'P' : Present.
A student could be rewarded if his attendance record doesn't contain more than one 'A' (absent) or more than two continuous 'L' (late).

You need to return whether the student could be rewarded according to his attendance record.

Example 1:
Input: "PPALLP"
Output: True
Example 2:
Input: "PPALLL"
Output: False


Implementation

class Solution {
public:
bool checkRecord(string s) {
char rec = 0;
int s_len = s.size();
for(int idx = 0; idx < s_len; idx++) {
if(s[idx] == 'A') {
if(rec & 0xf0) {
return false;
}
else {
rec = 0x80;
}
}
else if(s[idx] == 'L') {
if(rec & 0x02) {
return false;
}
else {
rec++;
}
}
else {
rec &= 0xf0;
}
}
return true;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  551 leetcode