题目链接:https://leetcode-cn.com/problems/remove-duplicate-node-lcci/
题目如下:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* removeDuplicateNodes(ListNode* head) {
ListNode* dummy=new ListNode(-1);
unordered_set<int> uset;
ListNode* p=head,*res=dummy;
while(p){
if(uset.count(p->val)==0){
uset.insert(p->val);
//创建一个新的链表节点,并尾插
auto node=new ListNode(p->val);
res->next=node;
res=node;
}
p=p->next;
}
return dummy->next;
}
};