牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
思路:以空格分割字符串,将分割得到的单词存入到线性表里面,然后在按照倒序将这些单词拼凑起来。
import java.util.*;
public class Solution {
public String ReverseSentence(String str) {
ArrayList<String> list=new ArrayList<>();
int index=str.indexOf(' ');
while(index>=0){
if(index==0){
list.add(str.substring(0, index+1));
str=str.substring(index+1, str.length());
}
else{
list.add(str.substring(0, index));
str=str.substring(index, str.length());
}
index=str.indexOf(' ');
}
list.add(str);
str="";
for(int i=list.size()-1; i>=0; i--){
str=str+list.get(i);
}
return str;
}
}