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”.
Otherwise, we define that this word doesn’t use capitals in a right way.
Example 1:
1 2 |
<b>Input:</b> "USA" <b>Output:</b> True |
Example 2:
1 2 |
<b>Input:</b> "FlaG" <b>Output:</b> False |
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
1 2 3 4 5 6 7 |
class Solution { public: bool detectCapitalUse(string word) { int n = std::count_if(word.begin(), word.end(), ::isupper); return n == 0 || (n == 1 && isupper(word[0])) || n == word.length(); } }; |