题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
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的方法,因为一旦节点为多位数的时候,容易在替换时出现未知错误。
三奇智元机器人科技有限公司公司福利 72人发布

