【字符串专题】C++ leetcode.520 检测大写字母

leetcode.520检测大写字母

给定一个单词,你需要判断单词的大写使用是否正确。

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。
否则,我们定义这个单词没有正确使用大写字母。

示例 1:

输入: “USA”
输出: True
示例 2:

输入: “FlaG”
输出: False

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/detect-capital
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1.计算字符串大写字母个数

  1. 如果大写字母个数为0或者为word.size(),则符合要求
  2. 如果不满足上面要求,那么大写字母只能有一个并且在word[0]位置
class Solution {
public:
    bool detectCapitalUse(string word) {
        int cnt = 0;
        for(int i=0;i<word.size();i++) {
            if(word[i] >= 'A' && word[i] <= 'Z') {
                cnt++;
            }
        }
        if(cnt == word.size() || cnt == 0 || (cnt == 1 && word[0] >= 'A' && word[0] <= 'Z')) {
            return true;
        }
        return false;
    }
};

你可能感兴趣的:(Leetcode)