题目描述:给定一个排序链表,删除所有重复的元素每个元素只留下一个。
样例:给出 1->1->2->null,返回 1->2->null;给出 1->1->2->3->3->null,返回 1->2->3->null
遍历整个链表,同时存储遍历到的节点值,如果某节点的值在存储中找到了相同的值,则删除。
我在这使用了Python中的集合类型set来存储已经遍历到的节点的值(因为set能帮助我直接去重,不会占用太大空间)。
至于删除节点的部分,之前已经探讨过怎么做了(详见:点击打开链接)
给出代码:
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val