题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
http://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
我这个更完善,我看答案都是认为每组中第二个结点已存在链表中,我这种考虑了第二个结点不在,第一个结点在的情况
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