题解 | #字符串加密#
从单向链表中删除指定值的节点
http://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
写链表好费时间...
class Node(object): def __init__(self, data, next=None): self.data = data self.next = next class LinkedList(object): def __init__(self, head = None): self.head = Node(head) def __len__(self): #功能:输入头节点,返回链表长度 curr = self.head counter = 1 while curr.next is not None: counter += 1 curr = curr.next return counter def prints(self): curr = self.head while curr is not None: print(curr.data,end=' ') curr = curr.next def insert(self, data, prev): node = Node(data=data) curr_node = self.head while curr_node is not None: if curr_node.data == prev: x = curr_node.next node.next = x curr_node.next = node break curr_node = curr_node.next return node def delete(self, data): node = Node(data=data) curr_node = self.head if curr_node.data == data: curr_node = None while curr_node.next is not None: if curr_node.next.data == data: x = curr_node.next.next curr_node.next = x break curr_node = curr_node.next return node while True: try: l = list(map(int, input().split())) nodes, head, dels, inserts = l[0], l[1], l[-1], l[2:-1] a = LinkedList(head = head) for i in range(0,len(inserts)-1,2): a.insert(inserts[i],inserts[i+1]) a.delete(dels) a.prints() except: break