AcWing 827. 双链表-Python
原题链接
简单
作者:
生日快乐
,
2021-02-13 10:10:24
,
所有人可见
,
阅读 338
def insert(a,x):
global e,l,r,idx
e[idx]=x
l[idx]=a;r[idx]=r[a]
l[r[a]]=idx
r[a]=idx
idx+=1
def remove(k):
global l,r
l[r[k]]=l[k]
r[l[k]]=r[k]
N=100000
m=int(input())
r=[-1]*N;l=[-1]*N
e=[0]*N
r[0]=1;l[1]=0
idx=2
while m:
m-=1
tmp=input().split()
o=tmp[0]
if o=='R':
insert(l[1],int(tmp[1]))
if o=='D':
k=int(tmp[1])
remove(k+1)
if o=='L':
insert(0,int(tmp[1]))
if o=='IL':
k=int(tmp[1])
x=int(tmp[2])
insert(l[k+1],x)
if o=='IR':
k=int(tmp[1])
x=int(tmp[2])
insert(k+1,x)
i=r[0]
while(i!=1):
print(e[i],end=' ')
i=r[i]