题解 | 【模板】链表 难搞!
【模板】链表
https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f
import sys # for line in sys.stdin: # a = line.split() # print(int(a[0]) + int(a[1])) """ 设计一个数组保存 """ def solver(): # 处理输入 n=int(input()) lines=[] for i in range(n): lines.append(input()) arr=[] for i in range(n): line=lines[i] if "insert" in line: #print(arr,"in ",line) values=line.split(" ") if not arr: # 为空插入末尾 arr.append(values[2]) else: if values[1] not in arr: # 表中不存在x arr.append(values[2]) else: #找到第一一个x 的位置 for i in range(len(arr)): if i==0 and arr[0]==values[1]: temp=[] temp.append(values[2]) temp.extend(arr) arr=temp break elif i>0 and arr[i]==values[1]: #print("ins >0 ",line) temp1=arr[0:i] # 在x 前面插入 temp1.append(values[2]) #print(line,arr,temp1,i) temp2=arr[i:] newarr=[] newarr.extend(temp1) newarr.extend(temp2) #print("x 前面插入",i,line ,arr,temp1,temp2,newarr) arr=newarr break #print(line,"after insert",arr,len(arr)) elif "delete" in line: values=line.split(" ") if values[1] in arr: #print("删除",values[1],arr) for i in range(len(arr)): #print("del",arr,values,i) if arr[i]==values[1]: newarr=[] newarr.extend(arr[0:i]) newarr.extend(arr[i+1:]) arr=newarr break ret="" if arr: for i in range(len(arr)): ret+=arr[i]+" " print(ret) else: print("NULL") solver()