82移除重复链表第二弹

来源:互联网 发布:身份证nfc读取 软件 编辑:程序博客网 时间:2024/06/13 07:58

Remove Duplicates from Sorted List II

问题描述:

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

For example,
Given 1->2->3->3->4->4->5, return 1->2->5.
Given 1->1->1->2->3, return 2->3.

参考答案:

class Solution {public:    ListNode* deleteDuplicates(ListNode* head) {        if (!head) return 0;        if (!head->next) return head;        int val = head->val;        ListNode* p = head->next;        if (p->val != val) {            head->next = deleteDuplicates(p);            return head;        } else {            while (p && p->val == val) p = p->next;            return deleteDuplicates(p);        }    }};

性能:

这里写图片描述

原创粉丝点击