
class Solution {
public String reverseWords(String s) {
String trim = s.trim();
int left = trim.length() - 1;
int right = trim.length() - 1;
StringBuilder sb = new StringBuilder();
while (left >= 0) {
while (left >= 0 && trim.charAt(left) != ' ') {
left--;
}
String substring = trim.substring(left + 1, right + 1) + " ";
sb.append(substring);
while (left >= 0 && trim.charAt(left) == ' ') {
left--;
}
right = left;
}
return sb.toString().trim();
}
}