[LintCode]113.删除排序链表中的重复数字 II
2017-07-19 15:53
393 查看
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。
样例
给出
给出
思路:因为是排序链表,所以每次判断和后面的是不是一样即可。创建一个新的链表头节点dummy,用来存放链表中没有重复的数字,也解决了头节点就是重复值的问题。
样例
给出
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; } };
相关文章推荐
- lintcode,删除排序链表中的重复数字 II
- [Lintcode]Remove Duplicates from Sorted List II 删除排序链表中的重复数字 II
- lintcode-113-删除排序链表中的重复数字 II
- lintcode-删除排序链表中的重复数字II-113
- LintCode(M)删除排序链表中的重复数字 II
- LintCode删除排序链表中的重复数字 II - Java
- 删除排序链表中的重复数字 II -LintCode
- LintCode-删除排序链表中的重复数字 II
- 删除排序链表中的重复数字 II -LintCode
- lintcode-删除排序链表中的重复数字 II
- 【LintCode 简单】101. 删除排序数组中的重复数字 II
- Lintcode落单的数 删除排序数组中的重复数字 II
- lintcode删除排序数组中的重复数字 II
- 113 - 删除排序链表中的重复数字 II
- 删除排序链表中的重复数字 II
- lintcode-101-删除排序数组中的重复数字 II
- LintCode-删除排序数组中的重复数字 II
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- 删除排序链表中的重复数字 II
- lintcode--删除排序链表中的重复数字