题目描述:
题解:
1.使用一个dict numdict记录每个数字出现的次数。
2.将numdict中只出现了一次的数字保存在list kept中。
3.对kept进行排序。
4.对kept中的数构造链表。
5.注意:需要注意kept为空或只有一个元素的情况。
class Solution(object): def deleteDuplicates(self, head): numdict = {} while head: if head.val not in numdict.keys(): numdict[head.val] = 1 else: numdict[head.val] = numdict[head.val]+1 head = head.next kept = [] for num in numdict.keys(): if numdict[num]==1: kept.append(num) kept = sorted(kept) if len(kept)==0: return None if len(kept)==1: return ListNode(val=kept[0]) node1 = ListNode(kept[-1]) for i in range(len(kept)-2,-1,-1): node = ListNode(val=kept[i],next=node1) node1 = node return node