Remove Duplicates from Sorted List II
2013-05-16 16:39
260 查看
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers
from the original list.
For example,
Given
return
Given
return
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) { // Start typing your C/C++ solution below // DO NOT write int main() function ListNode *cur = head, *pre = NULL, *next = NULL; if (head) { next = head->next; } else { return NULL; } bool has_same = false; //寻找head元素 while (next) { if (cur->val == next->val) { has_same = true; next = next->next; } else { if (has_same) { cur = next; next = next->next; has_same = false; } else { has_same = false; break; } } } if (has_same) { return NULL; } head = cur; cur = next; pre = head; if (next) { next = next->next; while (next) { if (cur->val == next->val) { has_same = true; next = next->next; } else { if (has_same) { cur = next; next = next->next; has_same = false; } else { pre->next = cur; pre = cur; cur = next; next = next->next; has_same = false; } } } if (has_same) { pre->next = NULL; } else { pre->next = cur; } } return head; } };
相关文章推荐
- [LeetCode] Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- Leetcode# 82 Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- [LeetCode]Remove Duplicates from Sorted List II Java
- 082 Remove Duplicates from Sorted List II [Leetcode]
- [leetcode]Remove Duplicates from Sorted List II @ Python
- Remove Duplicates from Sorted List II [LeetCode]
- 82. Remove Duplicates from Sorted List II(Python3)
- leetCode(13):Remove Duplicates from Sorted List II
- Remove Duplicates from Sorted List II
- LeetCode2.2.5(Remove Duplicates from Sorted List II)
- Remove Duplicates from Sorted List II -- LeetCode
- leetcode || 82、Remove Duplicates from Sorted List II
- Leetcode 82 Remove Duplicates from Sorted List II
- leetcode - Remove Duplicates from Sorted List II
- LeetCode() Remove duplicates from sorted list II
- leetcode 082 Remove Duplicates from Sorted List II
- leetcode之Remove Duplicates from Sorted List II