public String reverseWords(String s) {
final StringBuilder result =new StringBuilder();
final StringBuilder word =new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) !=' ') {
word.insert(0, s.charAt(i)); // no need to reverse } else {
result.append(word);
result.append(" ");
word.setLength(0);
}
}
// last word result.append(word);
return result.toString();
}
publicclassSolution {
public String reverseWords(String s) {
char[] a = s.toCharArray();
for (int i = 0; i < a.length; i++) {
if (a[i]!=' ') {
int j = i;
while (j + 1 < a.length&& a[j + 1]!=' ') {
j++; // move j to the end of the word }
reverse(a, i, j);
i = j;
}
}
returnnew String(ca);
}
privatevoidreverse(char[] a, int i, int j) {
for (; i < j; i++, j--) {
char tmp = ca[i];
a[i]= ca[j];
a[j]= tmp;
}
}
}