[Leetcode] 520. 大文字の検出
1464 ワード
タイトルの説明:
単語を指定するには、単語の大文字の使用が正しいかどうかを判断する必要があります.
次の場合、単語の大文字の使い方が正しいと定義します.はすべて大文字で、例えば「USA」です. 単語のすべてのアルファベットは大文字ではありません.例えば、「leetcode」です. 単語にアルファベットが1つだけ含まれていない場合は、「Google」などの頭文字だけが大文字になります.
そうでなければ、この単語が大文字で正しく使用されていないことを定義します.
例1:
例2:
注意:入力は、大文字と小文字のアルファベットからなる空でない単語です.
問題解決の考え方:
このテーマの私の考え方は、単語に値を設定して、初期値は0で、単語の中で1つの大文字に出会うたびにこの値を1プラスして、もし小文字のアルファベットならば変わらないで、それでは以下の3つの情況の下で大文字の使用の時に正しいだけあります:
1であれば、小文字であれば0ですが、
2、すべて大文字であれば値はその文字列の長さであり、
3、値が1の場合は、頭文字が大文字であるかどうかを見てみましょう.
その他の場合は使用が間違っていることを示します.
コード実装(Java言語):
単語を指定するには、単語の大文字の使用が正しいかどうかを判断する必要があります.
次の場合、単語の大文字の使い方が正しいと定義します.
そうでなければ、この単語が大文字で正しく使用されていないことを定義します.
例1:
: "USA"
: True
例2:
: "FlaG"
: False
注意:入力は、大文字と小文字のアルファベットからなる空でない単語です.
問題解決の考え方:
このテーマの私の考え方は、単語に値を設定して、初期値は0で、単語の中で1つの大文字に出会うたびにこの値を1プラスして、もし小文字のアルファベットならば変わらないで、それでは以下の3つの情況の下で大文字の使用の時に正しいだけあります:
1であれば、小文字であれば0ですが、
2、すべて大文字であれば値はその文字列の長さであり、
3、値が1の場合は、頭文字が大文字であるかどうかを見てみましょう.
その他の場合は使用が間違っていることを示します.
コード実装(Java言語):
class Solution {
public boolean detectCapitalUse(String word) {
char[] letters = word.toCharArray();
int len = letters.length;
int value = 0;
for(int i = 0;i < len;i++){
if(letters[i] <= 'Z' && letters[i] >= 'A'){
value = value + 1;
}
}
if(value == len || value == 0)
return true;
if(value == 1 && letters[0] <= 'Z' && letters[0] >= 'A')
return true;
return false;
}
}