83. Remove Duplicates from Sorted List

来源:互联网 发布:绿色建筑设计软件 编辑:程序博客网 时间:2024/06/04 18:55

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) return head;        ListNode* pre=head;        ListNode* after=pre->next;        while(after!=NULL)        {            while(after!=NULL)            {                if(after->val==pre->val)                    after=after->next;                else                     break;            }            pre->next=after;            pre=after;        }        return head;    }};
原创粉丝点击