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

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

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

删除链表中重复的节点(python)
接下来比较tmp指向的值 和 tmp.next指向的值 的大小
如果不一样,res往后跳一格,并让res指向的值 的 next指针 指向tmp指向的值
在每次比较过后,不管tmp等不等于tmp.next,都要让tmp无条件往后跳一格

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

如果tmp和他后面的值一样,就让tmp往后跳一格
之后tmp再无条件跳一格
删除链表中重复的节点(python)
直到tmp.next指向的值不存在,此时跳出循环,并让res.next指向tmp
删除链表中重复的节点(python)
三,代码
删除链表中重复的节点(python)