Given an input string, reverse the string word by word.
For example,
Given s = "the sky is blue",
return "blue is sky the".
- What constitutes a word?
A sequence of non-space characters constitutes a word. - Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces. - How about multiple spaces between two words?
Reduce them to a single space in the reversed string.
public class Solution {
public String reverseWords(String s) {
String[] array = s.split(" ");
StringBuilder builder = new StringBuilder();
String space = " ";
int length = array.length - 1;
for(int i = length; i >= 0; i--){
String cleanStr = array[i].trim();
if(cleanStr.length() == 0){
continue;
}
builder.append(cleanStr);
builder.append(space);
}
return builder.toString().trim();
}
}