容易 删除排序链表中的重复元素

来源:互联网 发布:竞业限制补偿金算法 编辑:程序博客网 时间:2024/06/06 12:42

容易 删除排序链表中的重复元素

38%
通过

给定一个排序链表,删除所有重复的元素每个元素只留下一个。

您在真实的面试中是否遇到过这个题? 
Yes
样例

给出1->1->2->null,返回 1->2->null

给出1->1->2->3->3->null,返回 1->2->3->null

标签 Expand 

链表

/*** Definition of ListNode* class ListNode {* public:*     int val;*     ListNode *next;*     ListNode(int val) {*         this->val = val;*         this->next = NULL;*     }* }*/class Solution {public:    /**     * @param head: The first node of linked list.     * @return: head node     */    ListNode *deleteDuplicates(ListNode *head) {        // write your code here        if(head == NULL) return head;        ListNode *p = head->next;;        ListNode *f = head;        while(p) {            while(p && p->val == f->val) {                p = p->next;                f->next = p;            }            if(p == NULL) break;            f = p;            p = p->next;        }        return head;    }};


0 0