题解 | 从单向链表中删除指定值的节点
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
list1 = [] s = input().split() for a in s: list1.append(int(a)) point_li = list1[2:-1] # 取非n,h,k的组合部分 end_point_list = list(zip(point_li[::2], point_li[1::2])) # 将二元组两两对应组合成一个个元组列表(待插入元素,a元素后) n, h, k = list1[0], list1[1], list1[-1] # 三值直接赋,总结点数n头节点h要删除的节点k queue1 = [h] # 存储最终队列 for group in end_point_list: if group[1] in queue1: index = queue1.index(group[1]) # 找出某个前驱索引 queue1.insert(index + 1, group[0]) # 在指定点之后插入元素 else: print('error') queue1.remove(k) # 移除k值 print(' '.join(map(str,queue1)))#转字符串后正常使用join