剑指offer(53)-删除链表中重复的结点

来源:互联网 发布:java调用python脚本 编辑:程序博客网 时间:2024/06/14 20:30

题目描述


在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表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!=NULL && pHead->next==NULL)            return pHead;        ListNode* current;        if ( pHead->next->val==pHead->val){            current=pHead->next->next;            while (current != NULL && current->val==pHead->val)                current=current->next;            return deleteDuplication(current);                             }        else {            current=pHead->next;            pHead->next=deleteDuplication(current);            return pHead;        }        }};
0 0
原创粉丝点击