hello congshen

自我成长

[leetcode] 【链表】83. Remove Duplicates from Sorted List

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

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


题意

一个排好序的链表,把 里面的重复元素删除掉。

题解

两个指针指向前一个和后一个元素,相同则删除掉后一个,否则继续遍历。

/**
 * 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) {
        if(head==NULL) return head;
        for(ListNode *prev=head,*cur=head->next;cur;cur=cur->next)
        {
            if(prev->val==cur->val)
            {
                prev->next=cur->next;
                delete cur;
            }
            else prev=cur;
        }
        return head;
    }
};


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014654002/article/details/51539312
文章标签: leetcode cpp
个人分类: leetcode链表 c-c++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭