leetcode 82 删除排序列表中重复元素

2021-03-02 19:28

阅读:558

标签:while   bsp   turn   pre   rgb   重复元素   重复   lse   let   

没啥太难的思路,代码如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution 
{
public:
    ListNode* deleteDuplicates(ListNode* head) 
    {
        ListNode* temp1 = new ListNode(0,head);
        ListNode* temp = temp1;
        ListNode* temp2 = head;
        if(!head || !head->next)
        return head;
        while(temp2 && temp2->next)
        {
            if(temp2->val == temp2->next->val)
            {
                while(temp2->next && temp2->val == temp2->next->val)
                temp2 = temp2->next;
                temp2 = temp2->next;
                temp1->next = temp2;
            }
            else
            {
                temp1 = temp2;
                temp2 = temp2->next;
            }          
        }
        return temp->next;
    }
};

 

leetcode 82 删除排序列表中重复元素

标签:while   bsp   turn   pre   rgb   重复元素   重复   lse   let   

原文地址:https://www.cnblogs.com/zhaohhhh/p/14403716.html

上一篇:JavaScript继承

下一篇:后缀数组详解


评论


亲,登录后才可以留言!