520. Detect Capital
Difficulty: Easy
Topics: String
Similar Questions:
Problem:
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, like "Google".
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.
Solutions:
class Solution {
public:
bool detectCapitalUse(string word) {
if (word.length() == 1) return true;
if (islower(word[0]) && isupper(word[1])) return false;
for (int i = 2; i < word.length(); ++i) {
if (!(isupper(word[i]) && isupper(word[i-1]) || islower(word[i]) && islower(word[i-1]))) return false;
}
return true;
}
};