美文网首页
Python实现删除链表中重复的节点

Python实现删除链表中重复的节点

作者: Gxxx_xx | 来源:发表于2018-06-09 16:40 被阅读0次

    题目描述

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

    记录一下自己唯一看懂的一种答案(==)

    链接:https://www.nowcoder.com/questionTerminal/fc533c45b73a41b0b44ccba763f866ef

    来源:牛客网

      剑指offer没看,不知道是不是用的这个方法。

    看懂了这个图,就明白了。

      1.加一个头结点

      2.两个临时指针p,q

      3.找前后不相等的节点

    截图中别人的答案是用java写的,但是思路是相同的。本题的关键在于头节点的处理,如何定位有效的头节点?这条思路中的解法十分巧妙,新建一个头节点(确定该头节点的值不会和pHead的值重合),最后统一返回head-next。其次,用p来保存有效的节点的前面一个节点,也就是说用p-next来保存真正保留的节点。

    相关文章

      网友评论

          本文标题:Python实现删除链表中重复的节点

          本文链接:https://www.haomeiwen.com/subject/ldgteftx.html