case1:借助一个辅助数组来实现,时间复杂度O(n),空间复杂度O(m)m为字符串s中的非空格元素个数
class Solution {
public String reverseWords(String s) {
if(s.equals(" ")) return "";
if(s.length()==1) return s;
//这里用regex而不是仅使用" "来切割字符串s就是为了去掉s中的所有空格
String[] str = s.trim().split("\\s+");
int len = str.length;
StringBuilder sb = new StringBuilder();
for(int i=len-1;i>=0;i--){
sb.append(str[i]);
if(i>0){
sb.append(" ");
}
}
return sb.toString();
}
}