题目给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
思路:
循环
遍历字母直到遇到空格
辅助字符从这个单词后往前加入
+空格
class Solution {
public String reverseWords(String s) {
StringBuffer ret = new StringBuffer();
int length = s.length();
int i = 0;
while (i < length) {
int start = i;
// 遍历字母直到遇到空格
while (i < length && s.charAt(i) != ' ') {
i++;
}
// 辅助字符从这个单词后往前加入
for (int p = start; p < i; p++) {
ret.append(s.charAt(start + i - 1 - p));
}
// +空格
while (i < length && s.charAt(i) == ' ') {
i++;
ret.append(' ');
}
}
return ret.toString();
}
}