Detect Capital問題及解法
阿新 • • 發佈:2019-02-11
問題描述:
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".
示例:
Input: "USA" Output: True
Input: "FlaG" Output: FalseNote:The input will be a non-empty word consisting of uppercase and lowercase latin letters.
問題分析:
我們可以統計單詞中小寫字母的數目,最後根據小寫字母數目來進行判斷。
過程詳見程式碼:
class Solution { public: bool detectCapitalUse(string word) { if(word.length() < 2) return true; int lower = 0; int len = word.length(); for(int i = 0;i < len; i++) { if(islower(word[i])) lower++; } if(islower(word[0])) return lower == len; else return lower == len - 1 || lower == 0 ; } };