您的位置:首页 > 其它

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

2016-11-04 09:23 671 查看
// test20.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<string>
#include<queue>
#include<stack>
#include<cstring>
#include<string.h>
#include<deque>

using namespace std;

class Solution {
public:
string ReverseSentence(string str) {
//把单词翻转 利用stack
//连接成一个新的单词
stack<string> st;
string word;
string s;
int flag = 0;

//if (flag < str.length())
//{
//  word = str.substr(0, flag);
//  str = str.substr(flag+1);//存储剩余单词
//  st.push(word);
//}
flag = str.find_first_of(" ");
while (flag < str.length())
{
word = str.substr(0, flag);
cout << "word:" << word << endl;
str = str.substr(flag + 1);//存储剩余单词
st.push(word);
flag = str.find_first_of(" ");
}
st.push(str);

while (st.size()!=1)
{
s.append(st.top()+" ");
st.pop();
}
s.append(st.top() + " ");
st.pop();

return s;
}
};
int main()
{

Solution so;
string str = "student. a am I";

string s = so.ReverseSentence(str);
cout << s << endl;

cout << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐