牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
class Solution {
public:
string ReverseSentence(string str) {
//解法一,看的别的牛人的 https://www.nowcoder.com/profile/9093942/codeBookDetail?submissionId=16329784
int len = str.size();
string tmp="",res="";
for(int i=0;i<len;i++)
{
if(str[i]!=' ')
{
tmp+=str[i];
}
else
{
res=' '+tmp+res;
tmp="";
}
}
res=tmp+res;
return res;
/*解法2:
int len = str.size();
if(len<=0)
return "";
stack<string>srr;
string stmp="";
for(int i=0;str[i]!='\0';i++)
{
if(str[i]==' ')
{
srr.push(stmp);
stmp="";
continue;
}
stmp+=str[i];
}
srr.push(stmp);
str="";
while(!srr.empty())
{
str=str+srr.top()+" ";
srr.pop();
}
return str.substr(0,len);//删去最后一个空格*/
}};

京公网安备 11010502036488号