删除排序链表中的重复元素
Posted wxdmw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除排序链表中的重复元素相关的知识,希望对你有一定的参考价值。
题目:
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
分析:
链表是有序的,由题干得知,链表节点的排列顺序为从小到大。也就是说,排在后面的节点绝不会小于前面的节点,最多等于前面的节点。
可以使用单指针记录链表中首个节点的地址,然后将该节点数值与下个节点数值进行比较。
如果二者相等,则说明该节点的下一个节点应该删除,所以可以用下下个节点的地址覆盖下一个结点的地址,直至找到与指针所记录的节点数值不同的节点,将数值不同的节点地址替换掉当前指针所指向的地址。
循环结束条件为当前节点和下一个节点都为null。
以上是关于删除排序链表中的重复元素的主要内容,如果未能解决你的问题,请参考以下文章
《LeetCode之每日一题》:288.删除排序链表中的重复元素
《LeetCode之每日一题》:288.删除排序链表中的重复元素