题目
菜鸟解答
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* deleteDuplicates(struct ListNode* head){
struct ListNode *scan,*prev;
if (NULL == head || NULL == head->next)
return head;
prev = head;
scan = head->next;
while (scan != NULL) {
if (prev->val == scan->val) {
prev->next = scan->next;
free(scan);
scan = prev->next;
}
else {
prev = scan;
scan = scan->next;
}
}
return head;
}