题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
http://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
python一如既往不存在单向链表,所以不想写了,简单刷一下吧
首先要知道数据分为四个部分 第一个数是总个数 第二个数是初始头结点 最后一个数是链表中需要去除的
其他数两两成组,后面的数在前面的数的索引要小,所以我把后面的数叫before,前面的数叫next
然后按照逻辑去获取列表,对链表顺序部分进行为2的跳跃遍历即可
while True:
try:
source_list = input().split()
res = [source_list[1]] #获取头结点并放到res
for idx in range(2, len(source_list[2:]), 2):
next, before = source_list[idx], source_list[idx+1]
res.insert(res.index(before) + 1, next)
res.remove(source_list[-1]) # 移除最后不需要的结点
print(' '.join(res))
except EOFError:
break