leetcode_打卡06
思路:
- 先把字符串根据空格进行分割,分割成一个字符串数组;
- 对字符串数组进行逆置;
- 拼接字符串数组;
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);
}
}
知识扩充:
知识一:
1.split(“s”) 以字符s为分隔线,分隔后返回字符数组;
2.split("\s")以碰到的每个空格、换行符、回车为分隔线,如遇到连续多个空格、换行符、回车就会连续划分,分隔后返回字符数组;
3.split("\s+")以空格、换行符、回车为分隔线,相邻的多个空格、换行符、回车仍然视为只有一个,分隔后返回字符数组。
Arrays.asList() 详解
该方法是将数组转化成List集合的方法。
注意:
(1)该方法适用于对象型数据的数组(String、Integer...)
(2)该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
(3)该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
(4)不支持add()、remove()、clear()等方法
总结:如果你的List只是用来遍历,就用Arrays.asList()。 如果你的List还要添加或删除元素,还是乖乖地new一个java.util.ArrayList,然后一个一个的添加元素。
join() 函数用于连接多个字符串,以使用指定的分隔符创建新字符串。
Collections.reverse 颠倒列表的元素。