天天看點

Leetcode 檢測大寫字母

給定一個單詞,你需要判斷單詞的大寫使用是否正确。

我們定義,在以下情況時,單詞的大寫用法是正确的:

  1. 全部字母都是大寫,比如"USA"。
  2. 單詞中所有字母都不是大寫,比如"leetcode"。
  3. 如果單詞不隻含有一個字母,隻有首字母大寫, 比如 "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;
}