// 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;
}