[LeetCode] Remove Duplicates from Sorted List II
来源:互联网 发布:数据新闻传播方向 编辑:程序博客网 时间:2024/04/29 07:43
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) { ListNode* myHead=new ListNode(0); ListNode* tail = myHead->next; ListNode* preTail = myHead; ListNode* p = head, *q; while(p!=NULL){ if(tail==NULL){ tail = p; preTail->next = tail; p=p->next; tail->next = NULL; }else if(tail->val != p->val){ tail->next = p; p=p->next; tail = tail->next; tail->next = NULL; preTail = preTail->next; }else{ while(p!=NULL && tail->val == p->val){ q = p; p=p->next; delete q; } delete tail; tail = NULL; preTail->next=NULL; } } p=myHead; myHead = myHead->next; delete p; return myHead; }};
0 0
- 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
- [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
- 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
- ubuntu12.04国内源
- 【Android基础】AsyncTask学习——如何取消掉AsyncTask
- 使用 libevent 和 libev 提高网络应用性能
- JavaScript中字符串与Unicode编码的互相转换
- hdoj-1506-Largest Rectangle in a Histogram【动态规划】
- [LeetCode] Remove Duplicates from Sorted List II
- 数据结构之栈和队列---栈的基本操作
- 1048:The Hardest Problem Ever
- 关于setTimeout延迟时间为0
- 【网络流】 HDOJ 3879 Base Station
- 网站layout的automation
- android中import出错,且该包切实存在的时候
- 多光谱光子型山火智能预警监测系统宣传资料
- UVA10976-Fractions Again?!