题目
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
示例1:
输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]
示例2:
输入:[1, 1, 1, 1, 2] 输出:[1, 2]
解题
方法一:哈希表
class Solution { public: ListNode* removeDuplicateNodes(ListNode* head) { unordered_set<int> set; ListNode* pre=nullptr; ListNode* cur=head; while(cur){ if(set.count(cur->val)){ pre->next=cur->next; cur=cur->next; } else{ set.insert(cur->val); pre=cur; cur=cur->next; } } return head; } };