【LeetCode刷题记录】简单篇-83-删除排序链表中的重复元素

文章介绍了如何使用C和C++编程语言解决删除排序链表中重复元素的问题,通过单指针遍历链表并比较节点值实现去重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【题目描述】

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。


【测试用例】

示例1:

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

        输出:[1,2]

示例2

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

        输出:[1,2,3]


【思路分析】

这道题与简单篇第26题很类似,逻辑思路是一样的,只是26题是数组,本题是链表。可以参考26题的双指针做法,使用两个struct ListNode类型的指针一前一后指向链表中的元素,依次遍历,前后相等就让前指针直接指向后指针的next,前后不等就让前后指针均后移。

这里用单指针的做法,用一个struct ListNode类型的指针cur遍历整个链表,cur初始化指向head链表&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值