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".
Example 1:
Input: "USA" Output: True
Example 2:
Input: "FlaG" Output: False
class Solution { public: bool detectCapitalUse(string word) { string lower, upper; lower = upper = word; for (string::size_type i=0; i<word.size(); ++i) { if (i != 0) lower[i] = tolower(lower[i]); upper[i] = toupper(upper[i]); } return word == upper || word == lower; } };
class Solution(object): def detectCapitalUse(self, word): """ :type word: str :rtype: bool """ return word.upper() == word or word[1:].lower() == word[1:]
def detectCapitalUse(self, word): return word.isupper() or word.islower() or word.istitle()