时间限制:1秒空间限制:32768K热度指数:6831
本题知识点:字符串
**算法知识视频讲解
题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
题解:利用空格分离字符串,用vector装,然后倒着输出
代码如下:
class Solution {
public:
string ReverseSentence(string str) {
vector<string>v;
string s;
while(1){
int index=str.find_first_of(" ");
if(index==-1){
v.push_back(str);
break;
}
s=str.substr(0,index);
str.erase(0,index+1);
v.push_back(s);
}
string result="";
for(int i=v.size()-1;i>=0;--i){
if(i==v.size()-1){
// cout<<v[i];
result+=v[i];
}else{
// cout<<" "<<v[i];
result+=" "+v[i];
}
}
return result;
}
};