题目:
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".
Example 1:
Input: "USA" Output: True
Example 2:
Input: "FlaG" Output: False
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
代码:
class Solution {
public:
bool detectCapitalUse(string word) {
if(word.size() == 0) return false;
int type;
if(word[0] >= 'A' && word[0] <= 'Z'){
type = 1;
}else{
type = 0;
}
int backtype = 0;
for(int i = 1; i < word.size(); i++){
if(word[i] >= 'A' && word[i] <= 'Z'){
backtype += 1;
}
else if(word[i] >= 'a' && word[i] <= 'z'){
backtype += 0;
}
}
if(type + backtype == word.size()) return true;
else if(type + backtype == 0) return true;
else if(type == 1 && backtype == 0) return true;
else return false;
}
};