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.
A:
class Solution { public: bool detectCapitalUse(string word) { int n = word.length(); auto isCapital = [](char ch){return ch>='A' and ch <= 'Z';}; if(n==1) return true; bool isFirstCapital = isCapital(word[0]); bool isSecondCapital = isCapital(word[1]); for(int i =1; i<n;++i){ if(isFirstCapital) // cannot { if(isCapital(word[i]) != isSecondCapital ) return false; }else{ if(isCapital(word[i])) return false; } } return true; } };
No comments:
Post a Comment