删除链表中重复的节点(python)

一,题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

二,分析
由于我是看别人的代码来理解过程,然后学习本题,所以过程分析也要结合代码来看。
首先,我们做了个头节点叫result,并让头指针result.next指向头节点
然后又做了两个指针,res和tmp,让他们分别指向头节点和链表首字母

在这里插入图片描述
接下来比较tmp指向的值 和 tmp.next指向的值 的大小
如果不一样,res往后跳一格,并让res指向的值 的 next指针 指向tmp指向的值
在每次比较过后,不管tmp等不等于tmp.next,都要让tmp无条件往后跳一格

在这里插入图片描述

如果tmp和他后面的值一样,就让tmp往后跳一格
之后tmp再无条件跳一格
在这里插入图片描述
直到tmp.next指向的值不存在,此时跳出循环,并让res.next指向tmp
在这里插入图片描述
三,代码
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值