题解 | #从单向链表中删除指定值的节点#
从单向链表中删除指定值的节点
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)))
