标签:des style blog color io for div amp
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) { if(head == NULL) return NULL; ListNode *p = head, *h = head,*pre; while( h != NULL && h->next != NULL && h->val == h->next->val){ while(p!= NULL && p->next != NULL && p->val == p->next->val){ p = p->next; }//end while p = p->next; h = p; }//end while if(h==NULL) return h; else{ pre = h; p = h->next; } bool flag = 0; while(p!= NULL && p->next != NULL ){ if(p->val != p->next->val && flag == 0){ pre = p; p = p->next; flag = 0; }else if(p->val != p->next->val && flag == 1){ p = p->next; pre->next = p; flag = 0; }else{ p = p->next; flag = 1; } } if(p!=NULL && flag == 1){ pre->next = NULL; } return h; }//end func };
[LeetCode] Remove Duplicates from Sorted List II,布布扣,bubuko.com
[LeetCode] Remove Duplicates from Sorted List II
标签:des style blog color io for div amp
原文地址:http://www.cnblogs.com/Xylophone/p/3911386.html