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);
}
}
这道题首先除去传进来的字符串开头和末尾的空白字符,由于字符串中存在一个或多个空白字符,因此要用正则匹配连续的空白字符作为分隔符分割,然后反转,最后用空格连接所有单词即可。
leetcode原题: 151. 翻转字符串里的单词