[leetcode]Remove Duplicates from Sorted List II
2014-12-01 21:07
381 查看
问题描述:
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinct 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.
基本思路:
设定一个标志是否是重复数字的变量isrepeat,当前和后一个一样就将isrepeat置true。 然后将isrepeat的节点删除,留下不重复节点。代码:
ListNode *deleteDuplicates(ListNode *head) { //C++ if(head == NULL || head->next == NULL) return head; ListNode tmphead(0); tmphead.next= head; ListNode* pre = &tmphead; ListNode* tmp = head; bool isRepeat = false; while(tmp->next != NULL) { if(tmp->val == tmp->next->val) { isRepeat = true; } else { if(isRepeat) { isRepeat = false; } else { pre->next = tmp; pre = tmp; } } tmp = tmp->next; } if(!isRepeat) { pre->next = tmp; pre = tmp; } pre->next = NULL; return tmphead.next; }
相关文章推荐
- [leetcode刷题系列]Remove Duplicates from Sorted List II
- leetcode 38: 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 82: Remove Duplicates from Sorted List II
- [LeetCode] Remove Duplicates from Sorted List、Remove Duplicates from Sorted List II
- leetcode 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, Solution
- [面试真题] LeetCode: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