import sys class ListNode(object): def __init__(self, val=0, next=None): self.val = val self.next = next for line in sys.stdin: a = line.split("\n")[0] nums = a.split(" ") nums = [int(_) for _ in nums] sum_count = nums[0] head = ListNode(nums[1], None) org_head = ListNode() org_head.next = head new_nums = nums[2:] d = {nums[1]: head} for i in range(0, len(new_nums)-1, 2): #print(i) pre = new_nums[i + 1] last = new_nums[i] if pre in d: pre_node = d[pre] else: pre_node = ListNode(pre) d[pre] = pre_node if last in d: last_node = d[last] else: last_node = ListNode(last) d[last] = last_node if pre_node.next: temp = pre_node.next pre_node.next = last_node last_node.next = temp else: pre_node.next = last_node del_num = new_nums[-1] del_node = d.get(del_num) node = org_head #print(d) while node: if del_node and node.val == del_node.val: node = node.next continue if node != org_head: print(node.val, end=" ") node = node.next
搞个链表类,然后模拟构建链表即可,需要注意一下那种已经有了next的再中间插入一个node.