建立一个String数组,然后使用split函数将str字符串中的单词放入数组,然后建立一个ArrayList将String数组中的单词倒着添加到list中,最后使用join函数即可得出翻转后的单词序列。
其中有一个问题
if(str==" "||str.equals(" ")){
String s=" ";
return s;
}
if(str.length()==0){
String s="";
return s;
}
这个语句无法判别str为" "的情况,测试一直会提示需要的输出为" ",结果输出为""。然后只能用一次trim函数将字符串的首尾空格去掉,然后判断str是不是""即可。
程序代码如下:
import java.util.*;
public class Solution {
public String ReverseSentence(String str) {
if(str==null)return null;
if(str.trim().equals("")){
return str;
}
String[] st=str.split(" ");
ArrayList<String> lst=new ArrayList<>();
for(int i=st.length-1;i>=0;i--){
lst.add(st[i]);
}
return String.join(" ",lst);
}
}