题解 | 【模板】链表

【模板】链表

https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f

import sys
#链表节点类
class ListNode():
    def __init__(self, value=0, next=None):
        self.value = value
        self.next = next
#链表类
class LinkedList():
	#root不是数据节点
    def __init__(self, root=None):
        self.root = root
    def find(self,x):
        node =root
        while(node is not None and node.next is not None):
            if node.next.value==x:
                return node
            node = node.next
        return node
    
    def insert(self,x,y):
        node = ListNode(value=y)
        leftNode = self.find(x)
        if(leftNode.next is not None):
           node.next = leftNode.next
           leftNode.next = node
        else:
            leftNode.next = node
        return node
    
    def delete(self,x):
        leftNode = self.find(x)
        if(leftNode.next):
           leftNode.next = leftNode.next.next

    def output(self):
        if(root is None or root.next is None):
            print("NULL")
            return None
        node = root.next
        while(node is not None):
            print(node.value,end=' ')
            node = node.next
        return None
   
root = ListNode()
linkedlist = LinkedList(root)
num = int(sys.stdin.readline())
for i in range(num):
    line = sys.stdin.readline()
    a = line.split()
    if a[0]=='insert':
        linkedlist.insert(a[1],a[2])
    elif a[0]=='delete':
        linkedlist.delete(a[1])

linkedlist.output()
    

全部评论

相关推荐

飞屋一号:包住还有每工作日餐补,已经比很多公司的实习强了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务