删除排序链表中的重复数字 II -LintCode
2017-07-17 10:53
288 查看
给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。
样例:
给出 1->2->3->3->4->4->5->null,返回 1->2->5->null
给出 1->1->1->2->3->null,返回 2->3->null
样例:
给出 1->2->3->3->4->4->5->null,返回 1->2->5->null
给出 1->1->1->2->3->null,返回 2->3->null
#ifndef C113_H #define C113_H #include<iostream> using namespace std; 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) { // write your code here if (head == NULL || head->next == NULL) return head; ListNode *node = new ListNode(-1); ListNode *pre = node; ListNode *cur = head; while (cur != NULL) { if (cur->next != NULL&&cur->val == cur->next->val) { while (cur->next!=NULL&&cur->val==cur->next->val) { cur = cur->next; } } else { pre->next = cur; pre = pre->next; } cur = cur->next; } pre->next = cur; return node->next; } }; #endif
相关文章推荐
- LintCode删除排序链表中的重复数字 II - Java
- 删除排序链表中的重复数字 II -LintCode
- lintcode-删除排序链表中的重复数字II-113
- [Lintcode]Remove Duplicates from Sorted List II 删除排序链表中的重复数字 II
- [LintCode]113.删除排序链表中的重复数字 II
- lintcode,删除排序链表中的重复数字 II
- LintCode-删除排序链表中的重复数字 II
- LintCode(M)删除排序链表中的重复数字 II
- lintcode-113-删除排序链表中的重复数字 II
- LintCode 删除排序链表中的重复数字 II
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- lintcode--删除排序链表中的重复数字
- LintCode-删除排序数组中的重复数字 II
- 删除排序链表中的重复数字 II
- LintCode(101)删除排序数组中的重复数字 II
- [Lintcode] #101 删除排序数组中的重复数字 II
- lintcode-删除排序数组中的重复数字II-101
- LintCode 删除排序数组中的重复数字 II
- LintCode【简单】101. 删除排序数组中的重复数字 II。代码及思路
- 删除排序链表中的重复数字 II