删除链表中的重复元素

删除链表中的重复元素,第1张

删除链表中的重复元素

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。

返回同样按升序排列的结果链表。

示例 1:


输入:head = [1,1,2]
输出:[1,2]

示例 2:


输入:head = [1,1,2,3,3]
输出:[1,2,3]
struct ListNode* deleteDuplicates(struct ListNode* head){
if(head==NULL||head->next==NULL)
{
    return head;
}
struct ListNode* p=head;
struct ListNode* q=head->next;
while(q!=NULL)
{
    if(p->val==q->val)
    {
        p->next=q->next;
        free(q);
        q=p->next;
    }
    else
    {
    p=q;
    q=q->next;
    }
}
return head;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5504008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存