
class Solution {
public String reverseWords(String s) {
s = s.trim();
String[] arr = s.split("\s+");
List wordList = Arrays.asList(arr);
StringBuilder sb = new StringBuilder();
// 从后往前遍历数组
for (int i = arr.length - 1; i >= 0; i--) {
sb.append(arr[i]);
// 除了最后一个单词,其余单词后加空格
if (i > 0) {
sb.append(" ");
}
}
return sb.toString();
// List wordList = Arrays.asList(arr);
// Collections.reverse(wordList);
//return String.join(" ", wordList);
}
}
复杂度分析
时间复杂度:O(n),其中 n 为输入字符串的长度。
空间复杂度:O(n),用来存储字符串分割之后的结果。