题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
示例1
输入
“nowcoder. a am I”
返回值
“I am a nowcoder.”
后进先出用栈
class Solution {
public:
string ReverseSentence(string str) {
stack<string>ans;
string tmp;
int tip=0;
for(int i=0;i<=str.length();i++)
{
if(i==str.length()||str[i]==' ')
{
tmp=str.substr(tip,i-tip);
ans.push(tmp);
tip=i+1;
}
}
tmp=ans.top();ans.pop();
while(ans.size())
{
tmp+=" ";
tmp+=ans.top();
ans.pop();
}
return tmp;
}
};