题解 | 【模板】链表
【模板】链表
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()
传音控股晋升空间 49人发布
查看9道真题和解析