题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
import sys lst = input().split() #将输出拆分成列表,各项为字符串 res = [] #初始化结果空列表 n = lst.pop(0) #列表lst第一个数为链表结果长度,用pop去除lst中的该值同时返回 res.append(lst.pop(0)) #接下来的第一个是第一个节点,加入到res里 for i in range(int(n)-1): #之后会有n-1个节点组合 l1 = lst.pop(0) #前边的是待插入节点 l2 = lst.pop(0) #后边的是已存在节点 res.insert(res.index(l2)+1,l1) #找到已存在节点l2的位置,在该点后边插入待插入节点值l1 res.pop(res.index(lst[-1])) #最后把lst的最后一个待删除节点去掉即可 print(*(res)) #此时的res为各节点的字符串组合,直接输出即可 ##注:本题尽量不把结果初始化为空字符串而后replace的方法,因为一旦节点为多位数的时候,容易在替换时出现未知错误。