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