前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode 82 Remove Duplicates from Sorted List II

Leetcode 82 Remove Duplicates from Sorted List II

作者头像
triplebee
发布2018-01-12 14:57:37
5170
发布2018-01-12 14:57:37
举报

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.

删除链表中重复出现的节点,和83题类似

https://cloud.tencent.com/developer/article/1019218

难点在于重复出现的第一个也不能保留,

所以要遇到重复的时候要一直找到不重复的为止,判断它与后一个节点不一致时才能加入答案

代码语言:javascript
复制
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        ListNode* result=new ListNode(0);
        ListNode* pre=result;
        pre->next=head;
        while(head && head->next)
        {
            if(head->val!=head->next->val)
                pre=pre->next;
            else
            {
                while(head->next!=NULL)
                {
                    if(head->val!=head->next->val) break;
                    head=head->next;
                }
                pre->next=head->next;
            }
            head=head->next;
        }
        return result->next;
    }
};
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档