题解 | 【模板】链表 难搞!

【模板】链表

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()
            

全部评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务