单链表删除重复元素(数据结构)😭

int DelSameX(LinkList L)
{ // 将线性表L中重复的元素删除掉,L非递减有序
Node *p; // p指向待处理的链表的第一个结点

Node  *r;  // r指向已处理好的无重复元素链表的最后一个结点

p=L->next;
if ( p==NULL ) return OK;  // 空表返回
r=p;  p=p->next;
while ( p!=NULL )
{



// 请写出循环体,不能再增加新的变量!!



}
return OK;

}

你LinkList 结构体的数据是啥?data?

typedef struct Node 
{
    int data;
    struct Node* next;
}*LinkList;

int DelSameX(LinkList L)
{ // 将线性表L中重复的元素删除掉,L非递减有序
    Node *p; // p指向待处理的链表的第一个结点
    Node  *r;  // r指向已处理好的无重复元素链表的最后一个结点

    p=L->next;
    if ( p==NULL ) return OK;  // 空表返回
    r=p;  p=p->next;
    while ( p!=NULL )
    {
        // 请写出循环体,不能再增加新的变量!!
        if(p->data == r->data) //data是你结构体的数据部分
        {
            r->next = p->next;
            free(p);
            p = r->next;
        }else
        {
            r = p;
            p = p->next;
        }


    }
    return OK;
}