题目
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看, 但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一 的翻转这些单词顺序可不在行,你能帮助他么?
分析
我们可以直接根据空格截断字符串,并存储到一个数组中,然后进行拼接
代码
public class Solution {
public String ReverseSentence(String str) {
// 字符串是空
if(str == null || str.length() == 0){
return "";
}
// 如果测试用例是空格,输出原始字符串
if(str.trim().equals("")){
return str;
}
// 按照空格将字符串截断成单词存入数组
String [] strArray = str.split(" ");
// 创建一个stringbuffer用与存储
StringBuffer buffer = new StringBuffer();
// 从数组后面往前面读,一边读取,一边拼接
for(int i = strArray.length-1; i >= 0; i--){
buffer.append(strArray[i]);
// 加上空格
if(i>0){
buffer.append(" ");
}
}
return buffer.toString();
}
}