题目描述:
标签:字符串
给定一个字符串,逐个翻转字符串中的每个单词。
说明:
1、无空格字符构成一个 单词 。
2、输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
3、如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。
代码:
思路分析:这里利用api特性的方法,来熟悉字符串相关的方法。
1、trim()函数:去除字符串前后两端的空格。
2、Arrays.asList():将数组作为列表。
3、split():以某种规则分隔字符串,这里采用正则表达式,\s表示空格,\\才能将\输出(即转义字符),+表示多个空格!这里的意思就是以多个空格来分割字符串!得到一个个单词!
4、Collections.reverse():对列表中的元素进行反转!
5、String.join(1,2):以1中填写符号的方式,连接2中各个列表元素,这里指用空格连接各个单词输出。
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);
}
}