题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

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
全部评论

相关推荐

accaacc:2到4k,不是2k到4k,所以年薪是30块
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务