题解 | #单词倒排#
单词倒排
http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
读入一行字符串,正则遍历找出符合要求的子串,压入栈,输出(出栈)直到栈空。
#include <iostream>
#include <string>
#include <regex>
#include <stack>
using namespace std;
int main ()
{
string str;
stack<string> tmp;
getline(cin,str);
regex regstring("[A-Za-z]+");
for(sregex_iterator it(str.begin(),str.end(),regstring),it_end; it!=it_end; ++it)
{
tmp.push(it -> str()); //将符合要求的字符串压入栈
}
while(!tmp.empty())
{
cout<<tmp.top()<<' '; //栈反向输出
tmp.pop(); //pop-1
}
return 0;
}