[LintCode]113.删除排序链表中的重复数字 II
来源:互联网 发布:淘宝店铺类目怎么选 编辑:程序博客网 时间:2024/05/29 16:25
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。
样例
给出 1->2->3->3->4->4->5->null
,返回 1->2->5->null
给出 1->1->1->2->3->null
,返回 2->3->null
思路:因为是排序链表,所以每次判断和后面的是不是一样即可。创建一个新的链表头节点dummy,用来存放链表中没有重复的数字,也解决了头节点就是重复值的问题。
/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */class Solution{public: /** * @param head: The first node of linked list. * @return: head node */ ListNode * deleteDuplicates(ListNode *head) { if(head == NULL || head->next == NULL) { return head; } ListNode *dummy=new ListNode(-1); dummy->next = head; ListNode *pre = dummy; ListNode *cur = head; while(cur && cur->next){ if(cur->val == cur->next->val){ int val=cur->val; while(cur && cur->val==val){ //cur再往后重复比较 cur=cur->next; } pre->next=cur; } else { pre = cur;//// cur = cur->next; } } return dummy->next; }};
阅读全文
0 0
- [LintCode]113.删除排序链表中的重复数字 II
- LintCode-删除排序链表中的重复数字 II
- lintcode-删除排序链表中的重复数字II-113
- lintcode-删除排序链表中的重复数字 II
- LintCode(M)删除排序链表中的重复数字 II
- lintcode,删除排序链表中的重复数字 II
- LintCode 删除排序链表中的重复数字 II
- 删除排序链表中的重复数字 II -LintCode
- 删除排序链表中的重复数字 II -LintCode
- LintCode删除排序链表中的重复数字 II
- [Lintcode]Remove Duplicates from Sorted List II 删除排序链表中的重复数字 II
- LintCode-删除排序数组中的重复数字 II
- lintcode-删除排序数组中的重复数字II-101
- LintCode 删除排序数组中的重复数字 II
- LintCode-删除排序数组中的重复数字 II
- lintcode删除排序数组中的重复数字 II
- LintCode(101)删除排序数组中的重复数字 II
- LintCode:删除排序数组中的重复数字 II
- 代码组织结构划分:
- 【Android】判断assets文件夹下的某个文件是否存在
- 基于Glide4.0.0RC1 BitmapTransformation给图片加上各类圆角
- 安卓Activity跳转的几种方式
- DP 2084.数塔
- [LintCode]113.删除排序链表中的重复数字 II
- poj1845
- 编译型语言和解释型语言
- Webview相关属性和事件处理
- 单(双向)链表的基本操作 C++
- HPU打表
- TeamViewer设置密码
- 经典递归求斐波那契数列
- Linux系统下自动备份MySQL数据库