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

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

https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

while True:
    try:
        num = list(map(int, input().split()))
        if num[1] != num[3]:  # 头节点值 = 第一组数据的第二个值
            print("输入错误!!!")
        re = [num[1]]  # 第一个节点值
        for i in range(0, len(num[2:-1]), 2):  # 根据num[2:-1]进行插入
            if num[2:-1][i] not in re:  # 链表的值不能重复
                re.insert(re.index(num[2:-1][i + 1]) + 1, num[2:-1][i])  # 根据索引添加节点,添加到当前结点之后,所以索引+1
        if num[-1] in re:  # 删除num中最后一个元素,如果不存在则跳过
            re.remove(num[-1])
        if len(re) <= num[0]:  # 第一个参数表示输入的总共节点
            print(" ".join(map(str, re)))
    except:
        break

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务