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
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
j解题思路:将字符串转换成ASCII值存在vector中,设置一个flag进行判断分三种情况进行讨论
class Solution {
public:
bool detectCapitalUse(string word) {
vector<int> a;
bool flag=true;
for(auto ch:word){
a.push_back(ch-'a');
}
if(a[0]>=0){
for(int i=1;i<a.size();i++){
if(a[i]<0){
flag=false;
}
}
}
else{
if(a[1]>=0){
for(int i=1;i<a.size();i++){
if(a[i]<0){
flag=false;
}
}
}
else{
for(int i=1;i<a.size();i++){
if(a[i]>=0){
flag=false;
}
}
}
}
if(flag==true)return true;
else return false;
}
};