6-7 删除排序链表中的重复元素 分数 10

6-7 删除排序链表中的重复元素 分数 10_第1张图片

LinkNode* deleteDuplicates(LinkNode* L) 
{
    //空链表或只有一个结点 无需处理
    if (L == NULL || L->next == NULL)
        return L;

    LinkNode* cur = L; 

    //只需比较cur和cur的next  当cur的next为空必不可能重复
    while (cur->next) 
    { 
        if (cur->data == cur->next->data)
        { 
            LinkNode* tmp = cur->next;
            cur->next = tmp->next; 
            free(tmp); 
        }
        else
            cur = cur->next;
    }
    return L;
}

你可能感兴趣的:(C语言经典题目,链表,数据结构,C语言,算法)