#easy
我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如
"USA"
。 - 单词中所有字母都不是大写,比如
"leetcode"
。 - 如果单词不只含有一个字母,只有首字母大写, 比如
"Google"
。
给你一个字符串 word
。如果大写用法正确,返回 true
;否则,返回 false
。
思路
模拟遍历一下即可
bool detectCapitalUse(char* word) {
int i = 0;
// 统计字符串中的大小写数目
int big = 0;
int small = 0;
//判断首字母是否大写
int first = 0;
while (word[i] != '\0') {
if (i == 0 && word[i] >= 'A' && word[i] <= 'Z')
first++;
if (word[i] >= 'A' && word[i] <= 'Z')
big++;
else
small++;
i ++;
}
//不存在大写和首字母大写
if (big == 0 || big == 1 && first == 1)
return true;
// 全是大些字母
if (small == 0 && big > 0)
return true;
return false;
}```