标签:des style blog color 使用 io for div log
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.
思路:若当前元素的next存在,且当前元素与其next值相同,则使用循环跳过后面所有与当前元素相同的元素。
1 class Solution { 2 public: 3 ListNode *deleteDuplicates( ListNode *head ) { 4 if( !head || !head->next ) { return head; } 5 ListNode *end = 0, *node = head; 6 head = 0; 7 while( node ) { 8 if( node->next && node->val == node->next->val ) { 9 node = node->next; 10 while( node->next && node->val == node->next->val ) { node = node->next; } 11 } else { 12 if( end ) { 13 end->next = node; 14 end = node; 15 } else { 16 head = end = node; 17 } 18 } 19 node = node->next; 20 } 21 if( end ) { end->next = 0; } 22 return head; 23 } 24 };
Remove Duplicates from Sorted List II
标签:des style blog color 使用 io for div log
原文地址:http://www.cnblogs.com/moderate-fish/p/3930244.html