文の単語を後方に印刷する方法を手に入れようとしています。私は非常に解決策に近いですが、マイナーな問題にぶつかっています。文章中の単語を後方に印刷するための再帰
はここに私のコードです:
public static String reverseString(String str) {
if (str.equals(""))
return "";
else {
int i = str.length() - 1;
while (!Character.isWhitespace(str.charAt(i))) {
if (i - 1 < 0)
break;
i--;
}
return str.substring(i,str.length()) + reverseString(str.substring(0,i));
}
}
が今の問題は、私のテストからの出力:
String test = "This is a test.";
System.out.println(reverseString(test));
が私にこのバック与えている:今
test. a isThis
を、返される部分文字列のインデックスをバンプアップしてスペースを手動で追加しようとすると、「This」の「T」が切り捨てられます。それは私が次のように代わりに返すことにした場合、次のとおりです。
return str.substring(i+1,str.length()) + " " + reverseString(str.substring(0,i));
を、私は戻って取得
test. a is his
誰もが、一般的に私の実装上の任意のアドバイスやポインタを持っていますか?
正常に機能しましたか? – ItamarG3