LeetCode 520 Detect Capital 检测大写

Given a word, you need to judge whether the usage of capitals in it is right or not.

We define the usage of capitals in a word to be right when one of the following cases holds:

All letters in this word are capitals, like “USA”.
All letters in this word are not capitals, like “leetcode”.
Only the first letter in this word is capital if it has more than one letter, like “Google”.
Otherwise, we define that this word doesn’t use capitals in a right way.
Example 1:
Input: “USA”
Output: True
Example 2:
Input: “FlaG”
Output: False

题目解析

对于给定的单词,判断其是否正确使用大写字母,当出现以下几种情况时,认为正确使用大写字母了:
1、所有的字母都大写
2、所有的字母都小写
3、第一个字母大写,其余均小写

结题思路

遍历字符串,统计出现大写字母和小写字母的个数,如果满足上述情况,返回true,否则false

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

    }
};

你可能感兴趣的:(leetcode,string,LeetCode)