leetcode 520. 大文字の検出(java)
2082 ワード
タイトルの説明:
単語を指定するには、単語の大文字の使用が正しいかどうかを判断する必要があります.
次の場合、単語の大文字の使い方が正しいと定義します.はすべて大文字で、例えば「USA」です. 単語のすべてのアルファベットは大文字ではありません.例えば、「leetcode」です. 単語にアルファベットが1つだけ含まれていない場合は、「Google」などの頭文字だけが大文字になります.
そうでなければ、この単語が大文字で正しく使用されていないことを定義します.
例1:
例2:
注意:入力は、大文字と小文字のアルファベットからなる空でない単語です.
自分で书いたコードは、Stringコードを使わないと复雑に见えます...:
大人のコードを見てみましょう
単語を指定するには、単語の大文字の使用が正しいかどうかを判断する必要があります.
次の場合、単語の大文字の使い方が正しいと定義します.
そうでなければ、この単語が大文字で正しく使用されていないことを定義します.
例1:
: "USA"
: True
例2:
: "FlaG"
: False
注意:入力は、大文字と小文字のアルファベットからなる空でない単語です.
自分で书いたコードは、Stringコードを使わないと复雑に见えます...:
class Solution {
public boolean detectCapitalUse(String word) {
if(word==null)return false;
if(word.length()==1)return true;
char [] res=word.toCharArray();
System.out.println(res.length);
int flag=1;
for(int i=0;i=0&&res[i]-'Z'<=0){// , ,
i++;
if(res[i]-'a'>=0&&res[i]-'z'<=0){// , ,
while(i0)
return false;
i++;
}
}else{ // , ,
while(i0)
return false;
i++;
}
}
}
else{// ,
while(i0)
return false;
i++;
}
}
}
return true;
}
}
大人のコードを見てみましょう
public boolean detectCapitalUse(String word) {
// 2, true
if (word.length() < 2)
return true;
//
if (word.toUpperCase().equals(word))
return true;
// ( )
if (word.substring(1).toLowerCase().
equals(word.substring(1)))
return true;
return false;
}