题目描述:
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
解题思路:
首先将字符串按空格分割,然后将切分后的字符串数组反转,再使用空格jion起来,同时注意特殊情况,字符串都为空格,则返回字符串本身即可。
代码(java):
public class Solution {
public String ReverseSentence(String str) {
String []strSplit=str.split(" ");
//异常情况:字符串全为空格
if(strSplit.length==0 && str.length()!=0)return str;
//数组反转
int start=0,end=strSplit.length-1;
while(start<end){
String tmp=strSplit[start];
strSplit[start]=strSplit[end];
strSplit[end]=tmp;
start++;
end--;
}
return String.join(" ",strSplit);
}
}