leetcode 83|84. Remove Duplicates from Sorted List 1|2
来源:互联网 发布:韩国后悔废除汉字 知乎 编辑:程序博客网 时间:2024/06/07 08:36
83. Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
way-2: use map
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteDuplicates(ListNode* head) { //way-1 /* if(!head) return head; //先找第一个单个的 ListNode *p = head; ListNode *q = head; while(1) { while(q->val == p->val && q->next) q=q->next; if(q->next == NULL && p->val == q->val && p != q) { p->next = NULL; break; } else if(q->next == NULL && p == q) { break; } p->next = q; p = q; } return head; */ //way-2 if(!head) return head; map<int,int> mm; mm[head->val]++; ListNode *last = head; ListNode *nex = head->next; while(nex) { if(mm.find(nex->val) == mm.end()) { mm[nex->val]++; last->next = nex; last = nex; nex = last->next; } else { nex = nex->next; } } last->next = NULL; return head; }};
82. Remove Duplicates from Sorted List II
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given 1->2->3->3->4->4->5
, return 1->2->5
.
Given 1->1->1->2->3
, return 2->3
.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* deleteDuplicates(ListNode* head) { if(!head) return head; ListNode hhead(-1); hhead.next = head; ListNode *last = &hhead; ListNode *p = head; ListNode *q = p->next; while(q) { while(p->val == q->val) { q = q->next; if (!q) { last->next = NULL; return hhead.next; } } if(q == p->next) //当前没重复 { last = p; p = q; q = p->next; } else //当前有重复 { last->next = q; p = q; q = p->next; } } return hhead.next; }};
阅读全文
0 0
- leetcode 83|84. Remove Duplicates from Sorted List 1|2
- LeetCode(83)Remove Duplicates from Sorted List
- [leetcode 83]Remove Duplicates from Sorted List
- [leetcode]83 Remove Duplicates from Sorted List
- [leetcode 83]Remove Duplicates from Sorted List
- leetcode-83 Remove Duplicates from Sorted List
- leetcode || 83、Remove Duplicates from Sorted List
- LeetCode 83 Remove Duplicates from Sorted List
- LeetCode---(83) Remove Duplicates from Sorted List
- leetcode 83 Remove Duplicates from Sorted List
- LeetCode 83:Remove Duplicates from Sorted List
- leetcode[83]:Remove Duplicates from Sorted List
- Leetcode[83]-Remove Duplicates from Sorted List
- Leetcode #83 Remove Duplicates from Sorted List
- leetcode 83: Remove Duplicates from Sorted List
- leetcode: (83) Remove Duplicates from Sorted List
- [Leetcode]#83 Remove Duplicates from Sorted List
- LeetCode 83 - Remove Duplicates from Sorted List
- 字符串的统计字符串
- Linux下查找大文件,大目录的方法
- 时间戳转时间字符串和时间
- CSV文件导入Neo4j数据库
- 自定义评星条
- leetcode 83|84. Remove Duplicates from Sorted List 1|2
- 小程序 ajax请求封装
- cnn
- 用双边滤波图像平滑
- Java笔记3
- 实验5-5
- CentOS 7 中 Docker 的安装
- 14期 12月期刊自荐
- JavaScript 动画之图片淡入淡出