だから私はJavaコーディングバットに取り組んでいます、そしてこれは質問です:
文字列を指定して、指定された文字列の最初と最後の両方で鏡像(後方)文字列を探します。
つまり、指定された文字列の最初と、文字列の最後で逆の順序(重複している可能性があります)の0個以上の文字。
例:
文字列「abXYZba」のミラーエンドは「ab」です。mirrorEnds( "abXYZba")→ "ab" mirrorEnds( "abca")→ "a" mirrorEnds( "aba")→"aba"。
私のコードは、指定されていない他のテストを除いて、すべてのテストに合格しました。何が悪いのかわかりません。
public String mirrorEnds(String string) {
String input = string, mirror = "";
int length = string.length();
for (int n = 0; n < (length+1) / 2; n++) {
if (input.charAt(n) != input.charAt(length - n - 1)) {
break;
}else if(length%2 == 1 && n == (length - 1)/2){
// System.out.println("length/2 = " );
return input;
}
else {
mirror += input.charAt(n);
}
}
return mirror;
}