美文网首页
2019-04-08

2019-04-08

作者: 张炜斌 | 来源:发表于2019-04-08 23:21 被阅读0次

    2019.04.08

    class Solution
    {
    public:
        bool detectCapitalUse(string word)
        {
            char p[100];
            for (int i = 0; i < word.length() + 1; i++)
            {
                p[i] = word[i];
            }
            if (p[0] >= 'A'&&p[0] <= 'Z')
            {
                int count = 0;
                for (int i = 1; i < strlen(p); i++)
                {
                    if (p[i] >= 'A'&&p[i] <= 'Z')
                        count++;
                }
                if (count == strlen(p)-1 || count == 0)
                    return true;
                else
                    return false;
            }
            if(p[0]>='a'&&p[0]<='z')
            {
                int count=0;
                for(int i=1;i<strlen(p);i++)
                {
                    if(p[i]>='a'&&p[i]<='z')
                        count++;
                }
                if(count==strlen(p)-1)
                    return true;
                return false;
            }
            else
                return false;
        }
    };
    

    题解分析:
    (1)本题是需要检查string类中的元素是否符合题目中的三点要求
    (2)涉及的新知识点,可以调用string类的函数库比如返回string类元素的下标,以及string类元素的长度
    (3)解决问题的思路:按照题意的要求,首先分首字母是否为大写,如果是大写从第二个开始数如果后面的全是大写或全是小写,那么这一个string类是符合要求的,如果是小写的看后面是否全是小写,如果是就符合题意。(可以定一个计数器,在首字母是大写时,往后数大写字母个数,如果是总长度减一或零返回真,否则返回假;如果首字母是小写,如果从第二个数,后面的小写字母数是等于长度减一返回真,否则返回假)

    相关文章

      网友评论

          本文标题:2019-04-08

          本文链接:https://www.haomeiwen.com/subject/ohcmiqtx.html