String:551. Student Attendance Record I

来源:互联网 发布:泰安房产每日成交数据 编辑:程序博客网 时间:2024/06/08 03:12

    思路很简单,就是统计A和L的个数,A不用说,L的统计是这样的,不仅遇到L要加1,而且遇到不是L的字符要把L置0.这是我写的:

class Solution {public:    bool checkRecord(string s) {        int countA = 0;        int countL = 0;        for(int i = 0; i < s.size(); ++i)        {            if(s[i] == 'A')            {                countA++;                countL = 0;            }            if(s[i] == 'L')            {                countL++;                if(countL > 2)                    return false;            }            if(s[i] == 'P')                countL = 0;        }        if(countA > 1)            return false;        return true;    }};
    这么简单的东西我写太长了,一个else能解决的事儿我非得用三个if……看别人写的:

class Solution {public:    bool checkRecord(string s) {        int a=0, l=0;        for(int i=0;i<s.size();i++) {            if(s[i]=='A') a++;            if(s[i]=='L') l++;            else l=0;            if(a>=2||l>2) return false;        }        return true;        }};