LeetCode 520 Detect Capital大文字検出
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
テーマ解析
与えられた単語について、大文字が正しく使われているかどうかを判断し、以下のような状況が発生した場合、大文字が正しく使われていると考えられます:1、すべてのアルファベットが大文字2、すべてのアルファベットが小文字3、最初のアルファベットが大文字3、残りは小文字です
結題の構想.
文字列を巡り、大文字と小文字が現れる個数を統計し、上記の状況を満たすとtrueを返します.そうしないとfalse
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
テーマ解析
与えられた単語について、大文字が正しく使われているかどうかを判断し、以下のような状況が発生した場合、大文字が正しく使われていると考えられます:1、すべてのアルファベットが大文字2、すべてのアルファベットが小文字3、最初のアルファベットが大文字3、残りは小文字です
結題の構想.
文字列を巡り、大文字と小文字が現れる個数を統計し、上記の状況を満たすとtrueを返します.そうしないとfalse
/* C++ */
class Solution {
public:
bool detectCapitalUse(string word) {
if(word.length()<2) return true;
int count=0;
for(int i=1;i<word.length();i++){
if(word[i]>='a' && word[i]<='z')
count=count+1;
else
count=count+2;
}
if(count==word.length()-1)
return true;
else
{
if((count==word.length()*2-2) && (word[0]>='A' && word[0]<='Z'))
return true;
else
return false;
}
}
};