本文共 594 字,大约阅读时间需要 1 分钟。
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。参考解法:class Solution: def removeDuplicateNodes(self, head: ListNode) -> ListNode: if not head: return head node_set = { head.val} prev, cur = head, head.next while cur: if cur.val in node_set: prev.next = cur.next del cur cur = prev.next else: node_set.add(cur.val) prev, cur = cur, cur.next return head
转载地址:http://mvxdz.baihongyu.com/