leetcode_打卡06

发布时间 2023-04-17 22:18:08作者: ZLey

leetcode_打卡06

题目:151. 反转字符串中的单词

思路:

  1. 先把字符串根据空格进行分割,分割成一个字符串数组;
  2. 对字符串数组进行逆置;
  3. 拼接字符串数组;
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 颠倒列表的元素。