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

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

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

import sys
单链表就只记录尾节点
for line in sys.stdin:
    init_list = list(map(int, line.split()))
    total_num = init_list[0]
    front_init = init_list[1]
    list_obj = init_list[2:-1]
    remove_obj = init_list[-1]
    rear_list = list_obj[::2]
    front_list = list_obj[1::2]
    init_dict = {}
    result_list = []
    for i,j in zip(front_list, rear_list):
        if init_dict.get(i) is None:
            init_dict.update({i:j})
        else:
            init_dict.update({j:init_dict.get(i)})
            init_dict.update({i:j})
    for i in range(total_num):
        result_list.append(front_init)
        front_init = init_dict.get(front_init)
    if remove_obj in result_list:
        result_list.remove(remove_obj)
    print(" ".join(map(str,result_list)))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务