题解 | 【模板】链表
【模板】链表
https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f
import sys
data=sys.stdin.read().strip().splitlines()
a=[]
for line in data:
a.append(line.split())
class ListNode:
def __init__(self,val=0,next=None):
self.val=val
self.next=next
def index_pre(self,i):
cur=self
while cur:
pre=cur
cur=cur.next
if cur==None:return [pre,cur]
elif cur.val==i:
return [pre,cur]
vir=ListNode()
for i in range(1,len(a)):
l=a[i][0]
if l=='insert':
if not vir.next:
vir.next=ListNode(int(a[i][2]))
else:
rt=ListNode(int(a[i][2]))
r_=vir.index_pre(int(a[i][1]))
r_[0].next=rt
rt.next=r_[1]
elif l=='delete':
rt2=vir.index_pre(int(a[i][1]))
if rt2[1]:
rt2[0].next=rt2[1].next
cur=vir.next
if cur==None:print('NULL')
else:
while cur:
print(cur.val,end=' ')
cur=cur.next
查看19道真题和解析