前言:
而今同学们对“在链表中删除值为x的元素”都比较关心,兄弟们都想要知道一些“在链表中删除值为x的元素”的相关内容。那么小编同时在网摘上收集了一些对于“在链表中删除值为x的元素””的相关资讯,希望各位老铁们能喜欢,你们快快来学习一下吧!在力扣的第82题中,我们需要删除一个已经排序的链表中的重复元素,并返回已排序的链表。
大家好,我是蛋卷。今天我们来解决力扣中的第82题:删除排序链表中的重复元素。题目是这样的:给定一个已经排序的链表的头节点head,需要删除原始列表中所有重复数字的节点,只留下不同的数字,然后返回已排序的链表。
举个例子,如果原始链表中的元素是1、2、3、5,那么删除重复元素后的链表就是1、2和5。需要注意的是,由于原始链表已经排序,因此重复的元素其实是相邻的,因此可以通过一次遍历,将相邻的重复元素删除即可。
对于上面的例子,原始链表中的节点为:
1:
2:
3:
4:
5:
如果我们要删除重复元素,那么只需要将cur指针移动到相邻的节点上即可。假设当前节点为cur,那么cur.next指的是节点2,而cur.next.next指的是节点3,它们是不相同的。如果cur.next不相同,就需要将cur指针移动到cur.next,而此时cur.next指的是节点3,而cur.next.next指的也是节点3,这两个元素是相同的。因此,我们将当前节点记为x,并将cur.next从链表中删除。如果当前节点不是x,那么就需要将cur.next.next从链表中删除,直到找到不相等的节点或者当前节点为空。
具体的代码实现如下:
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。