给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
两层while循环,时间复杂度n^2
ListNode *phead = head;
if((head == NULL) || (head->next == NULL))
{
return head;
}
/*大循环遍历所有元素*/
while(phead != NULL)
{
ListNode *prefind = phead;
ListNode *pfind = phead->next;
/*小循环比较当前元素之后的所有元素*/
while(pfind != NULL)
{
if(phead->val == pfind->val)
{
prefind->next = pfind->next;
pfind = pfind->next;
}
else
{
prefind = pfind;
pfind = pfind->next;
}
}
phead = phead->next;
}
return head;