我这个更完善,我看答案都是认为每组中第二个结点已存在链表中,我这种考虑了第二个结点不在,第一个结点在的情况

while True:
    try:
        s=input().split()
        ss=s[2:-1];ss_odd=ss[0::2];ss_even=ss[1::2]
        ss=[s[1]]
        for i in range(len(ss_even)): 
            if ss_even[i] in ss:   #这是常规情况,认为后者已在
                n=ss.index(ss_even[i])
                ss.insert(n+1,ss_odd[i])
            else:                  #其实并不见得,这时就需要找前者
                n=ss.index(ss_odd[i]) 
                ss.insert(n,ss_even[i])
        ss.remove(s[-1])
        print(" ".join(ss))
    except:
        break