給定一個單詞,你需要判斷單詞的大寫使用是否正确。
我們定義,在以下情況時,單詞的大寫用法是正确的:
- 全部字母都是大寫,比如"USA"。
- 單詞中所有字母都不是大寫,比如"leetcode"。
- 如果單詞不隻含有一個字母,隻有首字母大寫, 比如 "Google"。
否則,我們定義這個單詞沒有正确使用大寫字母。
示例 1:
輸入: "USA"
輸出: True
示例 2:
輸入: "FlaG"
輸出: False
注意: 輸入是由大寫和小寫拉丁字母組成的非空單詞。
思路:O(n), 對大小寫字母進行計數,然後判斷
bool detectCapitalUse(char * word)
{
int i;
int Acount = 0;
int acount = 0;
for(i = 0; word[i] != '\0'; i++)
if(word[i] <= 'Z')
Acount++;
else
acount++;
if(Acount == i || acount == i || (Acount == 1 && word[0] <= 'Z'))
return true;
return false;
}