原文网址:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=229&page=show_problem&problem=3139
数组实现链表的方法,然而并不太懂........
#include<stdio.h>
#include<string.h>
int next[100005];char s[100005];
int main()
{
while(~scanf("%s",s+1))
{
int cur=0,last=0;
next[0]=0;
for(int i=1;s[i];++i)
{
if(s[i]=='[')
{
cur=0;
}
else if(s[i]==']')
{
cur=last;
}
else
{
next[i]=next[cur];
next[cur]=i;
if(cur==last)
{
last=i;
}
cur=i;
}
}
for(int i=next[0];i!=0;i=next[i])
{
printf("%c",s[i]);
}
printf("\n");
}
return 0;
}