题目大意:
输入一个文章,[ 就是把光标放到最前面 ] 把光标放到最后面。
输出最后得到的文章。
思路分析:
用deque 模拟。
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
#define maxn 111111
using namespace std;
char str[maxn];
deque <char> Q;
deque<char>::iterator it;
int main()
{
while(scanf("%s",str)!=EOF)
{
Q.clear();
int len=strlen(str);
bool head=false;
int st;
int ed;
for(int i=0;i<len;i++)
{
if(str[i]=='[')
{
int j=i+1;
while(str[j]!='[' && str[j]!=']' && j<len)
j++;
j--;
int pos=j;
for(;j>i;j--)Q.push_front(str[j]);
i=pos;
}
else if(str[i]==']')
{
continue;
}
else Q.push_back(str[i]);
}
for(it=Q.begin();it!=Q.end();it++)
printf("%c",*it);
puts("");
}
return 0;
}