看到题我就想到了用split方法以空格分割,然后倒着拼接字符串数组里的字符串,但是并没有ac,于是我看了下题解,用的也是split但是它是用正则,把连续的空格来分割,因为有的是连着好几个空格,还有就是用的是内置的reverse方法连接,这是我不知道的
这是我的代码
class Solution {
public String reverseWords(String s) {
s = s.trim();
String[] str = s.split("\\s+");
int i = str.length;
String res = new String();
for(int j = i-1;j>0;j--){
res = res + str[j]+" ";
}
return res+str[0];
}
}
这是题解
class Solution {
public String reverseWords(String s) {
// 除去开头和末尾的空白字符
s = s.trim();
// 正则匹配连续的空白字符作为分隔符分割
List<String> wordList = Arrays.asList(s.split("\\s+"));
Collections.reverse(wordList);
return String.join(" ", wordList);
}
}