美文网首页
删除链表中重复的结点

删除链表中重复的结点

作者: 李伟13 | 来源:发表于2020-04-29 21:10 被阅读0次

题目描述

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

第一想法

  • 创建一个保存头的头节点n,用来返回
  • 一个保存不重复节点的节点p
  • 一个用来移动检测是否重复的节点q

AC代码

class Solution {
public:
    ListNode* deleteDuplication(ListNode* pHead)
    {
        ListNode *q,*n;
        ListNode* p = new ListNode(1);
        p -> next = pHead;
        n = p;
        q = pHead;
        if(q == NULL && q -> next == NULL)
            return q;
        while(q){
            if(q -> next != NULL && q -> next -> val == q -> val){
                while(q -> next != NULL && q -> next -> val == q -> val)
                    q = q -> next;
                p -> next = q -> next;
                q = q -> next;
            }
            else{
                p = p -> next;
                q = q -> next;
            }
        }
        return n -> next;
    }
};

相关文章

  • 链表-删除链表中重复的结点-java

    删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返...

  • JZ-056-删除链表中重复的结点

    删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返...

  • 剑指offer----删除链表中重复的节点

    题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表...

  • 面试题18_2:删除链表中重复的节点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复的结点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复的结点

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 剑指Offer56 删除链表重复节点(链表多指针遍历)

    在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->...

  • 删除链表中重复节点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

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

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

  • 剑指offer-删除链表中重复的结点

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,...

网友评论

      本文标题:删除链表中重复的结点

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