シヴァ:
static void reverseString(String input) {
char[] inputArray = input.toCharArray();
char[] result = new char[inputArray.length];
for (int i = 0; i < inputArray.length; i++) {
if (inputArray[i] == ' ') {
result[i] = ' ';
}
}
int j = result.length - 1;
for (int i = 0; i < inputArray.length; i++) {
if (inputArray[i] != ' ') {
if (result[j] == ' ') {
j--;
}
result[j] = inputArray[i];
j--;
}
}
System.out.println(input + " --> " + String.valueOf(result));
}
いくつかのいずれかで混乱ループ作品のための方法の両方を説明することができます。そうでなければ、他の最適化されたコード?
SAI PRATYUSHA:
、入力配列、すなわち内の対応する空間の結果配列のループ格納スペースの最初のスペースを維持するために、同一の結果アレイ内の空間のループを格納する第一の入力アレイ内のスペースがあるところはどこでもインデックス位置。
スペースが既に格納されているので、文字列の残りの部分は、第二のループに反転されます。
入力アレイ内に存在するスペースは、if文を用いて第2のループでは無視されます。それが結果配列内のスペースに遭遇した場合、GETを反転させながら、それはjの値をデクリメントし、iの値をインクリメントすることによって逆の順序で、残りの文字列を格納するための次のインデックス位置に移動します。