/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
class Solution {
public:
/**
*
* @param head ListNode类
* @return ListNode类
*/
ListNode* deleteDuplicates(ListNode* head) {
// write code here
ListNode* p1 = head;
ListNode* p2 = head;
if(NULL == p1 || NULL == p1->next) return head;
p1 = p1->next;
while(NULL != p1)
{
if(p1->val == p2->val)
{
ListNode* temp = p1;
p1 = p1->next;
p2->next = p1;
free(temp);
}
else
{
p2 = p1;
p1 = p1->next;
}
}
return head;
}
};