删除排序链表中的重复元素(python)

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例 1:

输入: 1->1->2
输出: 1->2

示例 2:

输入: 1->1->2->3->3
输出: 1->2->3

 

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        temp = set()
        while head:
            temp.add(head.val)
            head = head.next
        res = ListNode(0)
        res_Last = res
        temp = sorted(temp)
        for t in temp:
            res_Last.next = ListNode(t)
            res_Last = res_Last.next
        res_Last = res.next
        del res
        return res_Last