题意:给定一个字符串,然后【会将光标跳转到头,】会将光标调到尾,问最后正确的输入。
思路:直接用list来模拟即可,【的时候就在头插,】就在尾插,也可根据递归顺序解。
code:
#include <bits/stdc++.h>
using namespace std;
char s[100001];
void dfs(int lt,int rt){
int st=rt;
while (st>=lt&&s[st]!='['&&s[st]!=']') st--;
if (s[st]==']') dfs(lt,st-1);
for (int i=st+1;i<=rt;i++) printf("%c",s[i]);
if (s[st]=='[') dfs(lt,st-1);
}
int main()
{
while (~scanf("%s",s)){
dfs(0,strlen(s)-1);
puts("");
}
}