LintCode : 删除链表中的重复元素
2017-04-12 11:33
405 查看
LintCode : 删除链表中的重复元素
题目给定一个排序链表,删除所有重复的元素每个元素只留下一个。
样例
给出 1->1->2->null,返回 1->2->null
给出 1->1->2->3->3->null,返回 1->2->3->null
思路
感觉没什么好说的嘛,,就是遇到之前见过的就删掉就好了。。
代码
ListNode *deleteDuplicates(ListNode *head) { if(head == NULL) return NULL; map <int, int> dict; ListNode *p = head; ListNode *q = head->next; dict[head->val] = 1; while(q != NULL) { if(dict.find(q->val) != dict.end()) { p->next = q->next; free(q); q = p->next; } else { dict[q->val] = 1; p = p->next; q = p->next; } } return head; }
相关文章推荐
- LintCode-剑指Offer-(112)删除排序链表中的重复元素
- LintCode Remove Duplicates from Sorted List 删除链表中的重复元素
- LintCode—删除排序链表中的重复元素(112)
- Lintcode112.删除排序链表中的重复元素
- Lintcode删除排序链表中的重复元素
- LintCode-删除排序链表中的重复元素
- LintCode_112_删除排序链表中重复的元素
- lintcode——删除排序链表中的重复元素
- lintcode——删除链表中的元素
- lintcode&九章算法——100. 删除有序数组里的重复元素 ? 待解决
- lintcode&九章算法——101. 删除有序数组里的重复元素 II ? 待解决
- lintcode-删除排序链表中的重复数字 II
- LintCode——删除链表中的元素
- LintCode:删除链表中的元素452
- 剑指offer(LintCode):112. 删除链表中重复节点I VS 113.删除链表中重复节点II
- LintCode—删除链表中的元素(452)
- LintCode 删除排序链表中的重复数字 II
- lintcode:删除链表中指定元素
- LintCode 删除链表中的元素
- LintCode_452_删除链表中的元素