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.
Subscribe to see which companies asked this question.
题目是要检测字母的大小写是否满足条件,这里的要求是要么全是大写或者全是小写,要么只有首字母大写其余小写
判断过程很简单,记录大写字母个数以及首字母是否是大小写。
class Solution {
public:
bool detectCapitalUse(string word) {
int len = word.length();
if(len<=0) return false;
if(len == 1) return true;
bool first = isupper(word[0]);
int uppertotal = 0;
for(int i=0;i<len;i++)
{
if(isupper(word[i]))
++uppertotal;
}
if(uppertotal == 0)
return true;
else
{
if(uppertotal == len)
return true;
else if(uppertotal == 1 && first)
return true;
}
return false;
}
};