082&083 Remove Duplicates from Sorted List I II [Leetcode]
来源:互联网 发布:jquery怎么做分页java 编辑:程序博客网 时间:2024/06/05 15:34
题目内容:
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.
思路:
很清楚,顺序遍历加删除节点即可。
/** * 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 == NULL || head->next == NULL) return head; ListNode *p(head->next), *pre(head); while(p != NULL) { if(p->val == pre->val) { pre->next = p->next; delete p; p = pre->next; } else { pre = p; p = p->next; } } return head; }};
题目内容:
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 == NULL || head->next == NULL) return head; ListNode *pre_head = new ListNode(head->val - 1); pre_head->next = head; ListNode *pre(pre_head), *p(head); while(p != NULL) { ListNode *pnext = p->next; bool del(false); if(pnext != NULL && pnext->val == p->val) del = true; if(!del) { pre = p; p = p->next; } else { int value(p->val); ListNode *d = p; while(d != NULL && d->val == value) { pnext = d->next; delete d; d = pnext; } pre->next = pnext; p = pnext; } } head = pre_head->next; pre_head->next = NULL; delete pre_head; return head; }};
0 0
- 082&083 Remove Duplicates from Sorted List I II [Leetcode]
- 【LeetCode】Remove Duplicates from Sorted List I && II
- 【LeetCode】Remove Duplicates from Sorted List I && II
- [Leetcode] Remove Duplicates from Sorted List I | II
- LeetCode Solutions : Remove Duplicates from Sorted List I & II
- leetcode--83&82 Remove Duplicates from sorted list I&II
- Remove Duplicates from Sorted List I II -- leetcode
- [Leetcode] #82#83 Remove Duplicates from Sorted List I & II
- LeetCode:Remove Duplicates from Sorted List I & II
- Remove Duplicates from Sorted List I II
- Remove Duplicates from Sorted List I,II
- Remove Duplicates from Sorted List I II
- LeetCode: Remove Duplicates from Sorted List II
- [Leetcode] Remove Duplicates from Sorted List II
- LeetCode: Remove Duplicates from Sorted List II
- [Leetcode] Remove Duplicates from Sorted List II
- [leetcode] Remove Duplicates from Sorted List II
- [LeetCode] Remove Duplicates from Sorted List II
- 【UIKit-32-1】UIDataDetectors 文本号码邮箱链接自动识别
- hdu2159FATE【二维完全背包】
- iOS9 NSURL不能工作的解决方法
- ubuntu下自动打开多终端的多个标签并执行不同脚本的方法
- Unity3d 游戏场景优化 第一章
- 082&083 Remove Duplicates from Sorted List I II [Leetcode]
- Hibernate映射 --- 自身跟自身的一对多关联
- iOS nil, Nil, NSNull NULL的区别
- win7系统ActiveMQ安装后,提示端口被占用无法启动问题
- 转做大系统硬件
- 列表ListView控件的使用
- C++读写初步
- XRay5
- next-key lock (glap lock)完全解析.