151. 翻转字符串里的单词(trim函数与split函数的使用)



思路:首先,反转后字符串前后不能有空格,所以说,要用一个函数去掉字符串前后的空格trim(),
之后,用split()函数,把原字符串按照空格分隔,成为一个字符串数组
https://www.cnblogs.com/Berryxiong/p/6232373.html
知识补充
-
String的split方法支持正则表达式;
-
正则表达式
\s表示匹配任何空白字符,+表示匹配一次或多次。
之后,反转字符串数组,使得字符串数组的顺序等于最后的顺序
最后,逐个把结果加到res里,要注意结果字符串的前后不能用空格
class Solution {
public String reverseWords(String s) {
String[]s1=s.trim() .split("\\s+");//先去掉左右两端多余的空格(多少个都行),之后按照空格(可以是若干个空格)把字符串分割成字符串数组
int i=0;
int j=s1.length-1;
while(i<j)//交换字符串数组的前后顺序,使之成为结果里需要的那个顺序
{
String temp=s1[i];
s1[i]=s1[j];
s1[j]=temp;
i++;
j--;
}
String res="";//结果
for(int k=0;k<s1.length;k++)
{
res+=s1[k];
if(k==s1.length-1)
{
break;//到了最后一个单词,不需要再加空格了
}
res+=" ";
}
return res;
}
}

浙公网安备 33010602011771号