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.
这道题是判断单词中大写字母是否合法,题目难度为Easy。
首字母如果是大写,后续字母可以全大写或全小写;首字母如果是小写,后续字母只能是小写。这里注意如果用isupper函数的话,返回值是0和非0两种情况,而不是true和false,这种函数只能说要你何用。。具体代码:
class Solution {
bool isUpper(char c) {
return c >= 'A' && c <= 'Z';
}
public:
bool detectCapitalUse(string word) {
if(word.size() < 2) return true;
bool isCap = isUpper(word[0]) ? isUpper(word[1]) : false;
for(int i=1; i<word.size(); ++i) {
if(isUpper(word[i]) != isCap) return false;
}
return true;
}
};