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:
Input: "USA" Output: True
Example 2:
Input: "FlaG" Output: False
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
class Solution { public: bool detectCapitalUse(string word) { bool isupper = false; bool haslower = false; auto length = word.size(); 'A' <= word[0] && word[0] <= 'Z' ? (isupper = true) : (isupper = false); for (size_t i = 1;i < length;++i) { if (!isupper&&'A' <= word[i] && word[i] <= 'Z') return false; if (isupper) { if ('A' <= word[1] && word[1] <= 'Z') { if('a' <= word[i] && word[i] <= 'z') return false; } else { if ('A' <= word[i] && word[i] <= 'Z') return false; } } } return true; } };