删除链表中重复的结点

来源:互联网 发布:mac mail 设置模板 编辑:程序博客网 时间:2024/05/17 04:14

题目描述

在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
/*struct ListNode {    int val;    struct ListNode *next;    ListNode(int x) :        val(x), next(NULL) {    }};*/class Solution {public:    ListNode* deleteDuplication(ListNode* pHead)    {        if(pHead==NULL)            return NULL;        if(pHead->next==NULL)            return pHead;ListNode* n;        if(pHead->next->val==pHead->val)        {            n=pHead->next->next;        while(n!=NULL&&n->val==pHead->val)            n=n->next;        return deleteDuplication(n);        }        else        {            n=pHead->next;            pHead->next=deleteDuplication(n);            return pHead;        }    }};

0 0
原创粉丝点击