String text = "my name is xxx";
String reversed = "";
for (String word : text.split(" ")) {
reversed = word + " " + reversed;
}
reversed = reversed.trim();
Run Code Online (Sandbox Code Playgroud)
如果绝对不允许方法调用,那么它有点麻烦.
String text = "my name is xxx";
char[] letters = text.toCharArray();
char[] srettel = new char[letters.length];
for (int last = letters.length, i = last - 1, j = 0; i >= -1; i--) {
if (i == -1 || letters[i] == ' ') {
for (int k = i + 1; k < last; ) {
srettel[j++] = letters[k++];
}
if (i != -1) srettel[j++] = ' ';
last = i;
}
}
String reversed = new String(srettel);
Run Code Online (Sandbox Code Playgroud)
这需要更多解释.我们从右到左读取输入数组(i--),每当我们找到一个空格,或者当我们最终点击左墙(i == -1)时,我们将for k找到的单词()复制到输出数组([j++] =).我们跟踪单词边界last.
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |