题解 | 【模板】链表
【模板】链表
https://www.nowcoder.com/practice/97dc1ac2311046618fd19960041e3c6f
class ListNode: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None def insert(self, x, y): new_node = ListNode(y) current = self.head if not current: self.head = new_node return if current.data == x: self.head = new_node new_node.next = current return prev = None while current and current.data != x: prev = current current = current.next if not current: prev.next = new_node return prev.next = new_node new_node.next = current def delete(self, x): current = self.head if not current: return if current.data == x: self.head = current.next return prev = None while current and current.data != x: prev = current current = current.next if not current: return prev.next = current.next def node(self): s = [] current = self.head if not current: return while current: s.append(current.data) current = current.next return s n = int(input()) linked_list = LinkedList() for _ in range(n): a = input().split() if a[0] == "insert": x, y = map(int, a[1:3]) linked_list.insert(x, y) else: x = int(a[1]) linked_list.delete(x) if linked_list.node(): print(' '.join(list(map(str,linked_list.node())))) else: print('NULL')