专栏首页计算机视觉与深度学习基础Leetcode 82 Remove Duplicates from Sorted List II

Leetcode 82 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.

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

http://blog.csdn.net/accepthjp/article/details/52652043

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

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

/**
 * 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;
    }
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Leetcode 142 Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cyc...

    triplebee
  • Leetcode 147 Insertion Sort List

    Sort a linked list using insertion sort. 对链表插入排序,没啥好说的。 /** * Definition for ...

    triplebee
  • Leetcode 24 Swap Nodes in Pairs

    Given a linked list, swap every two adjacent nodes and return its head. For ex...

    triplebee
  • 两两交换链表中的节点

    一份执着✘
  • 程序员面试金典 - 面试题 02.06. 回文链表(快慢指针+链表反转)

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-linked-list-lcci...

    Michael阿明
  • 链表问题(二)-LeetCode 147、876、234、817、92(链表的中点,快慢指针)

    首先判断两个相邻节点的大小,如果head->val > head->next->val,则需要将head->next->val插入到从dummy节点开始遍历第一...

    算法工程师之路
  • 精益求精解LeetCode(82与83)

    好久没有刷题与更文了,今天来一场LeetCode上面简单与中等题目多种方法刷题。

    公众号guangcity
  • leetcode 83 Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear ...

    用户1539362
  • LintCode 删除排序链表中的重复数字 II题目分析代码

    给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素。 样例 给出 1->2->3->3->4->4->5->null,返回 1->2->5->...

    desperate633
  • 问题系列之Java中删除有序List的重复数据——提供两种方法

    Java学习网(www.javalearns.com)提拱 现在给出一个有序的List,删除其中重复的元素,要求第个元素只能出现一次,并且是经过的排序的; ...

    用户1289394

扫码关注云+社区

领取腾讯云代金券