给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
示例 2:
#include<cstdlib>
#include<set>
#include<iterator>
class Solution {
public:
ListNode *deleteDuplicates(ListNode *head) {
if(head == NULL || head->next == NULL) return head;
set<int> myset;
set<int>::iterator iter;
ListNode *node = head;
myset.insert(node->val);
while(node->next != NULL)
{
iter = myset.find(node->next->val);
if(iter != myset.end())
{
node->next = node->next->next;
continue;
}
myset.insert(node->next->val);
node = node->next;
}
return head;
}
};
是不是还有一种更好的方法呢??