一、题目:
520.检测大写字母
给定一个单词,你需要判断单词的大写使用是否正确。
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如"USA"。
- 单词中所有字母都不是大写,比如"leetcode"。
- 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
否则,我们定义这个单词没有正确使用大写字母。
示例 1:
示例2:
二、思路:
首先判断第一个字母是否是大写,是的话接着判断字符串大写字母的个数,如果为1或者整个字符串的个数,则正确;
如果第一个字母不是大写,如果后面出现了一个大写都是错的。
三、代码(C++):
bool detectCapitalUse(string word) {
int k=0;
if(isupper(word[0]))
{
for(auto a=word.begin();a!=word.end();a++)
{
if(isupper(*a))
++k;
}
if(!(k==1||k==word.size()))
return false;
}
else
{
for(auto s:word)
if(isupper(s))
return false;
}
return true;
}