题意:训练指南P244
分析:链表模拟,维护链表的head和tail指针
#includeusing namespace std;const int N = 1e5 + 5;struct Link_list { char ch; Link_list *nex;}link_list[N];int main(void) { while (true) { Link_list *head = link_list; Link_list *q = link_list + 1; head -> nex = NULL; Link_list *tail = head, *pos = head; char c; while (true) { c = getchar (); if (c == '\n') break; if (c == EOF) return 0; if (c != '[' && c != ']') { Link_list *p = q++; p -> ch = c; p -> nex = pos -> nex; pos -> nex = p; pos = p; if (tail -> nex != NULL) tail = pos; } else if (c == '[') pos = head; else pos = tail; } Link_list *p = head -> nex; while (p) { printf ("%c", p -> ch); p = p -> nex; } puts (""); } return 0;}