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

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

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

全部评论

相关推荐

hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务