紫書 悲劇文本(鏈表)
阿新 • • 發佈:2019-03-25
max color 每次 name esp 節點 next char day
#include <bits/stdc++.h> using namespace std; const int maxn=1e5+5; int cur, last, next[maxn];//last維護光標移動前的位置,cur維護待處理節點的前繼節點 char str[maxn]; int main() { while(~scanf("%s",str+1)){ int len=strlen(str+1); last=cur=0; next[0]=0; for(int i=1;i<=len;++i){if(str[i]==‘[‘) cur=0;//遇到‘[‘把cur指到鏈表首部(0) else if(str[i]==‘]‘) cur=last;//遇到‘]‘把cur指到last else { next[i]=next[cur];next[cur]=i;//先把i和cur後一個節點連接,再把cur和i連接 if(cur==last) last=i;//未移動光標時,每次插入新數據,都要更新last cur=i; } }for(int i=next[0];i!=0;i=next[i]) putchar(str[i]); puts(""); } return 0; } /* This_is_a_[Beiju]_text [[]][][]Happy_Birthday_to_Tsinghua_University */
本題用數組實現鏈表
紫書 悲劇文本(鏈表)