Remove Duplicates from Sorted List

来源:互联网 发布:书签淘宝 编辑:程序博客网 时间:2024/05/21 09:05

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;        ListNode *res = head;        ListNode *first = head;        ListNode *second = head->next;        while(second != NULL)        {            if(first->val == second->val)            {                first = first->next;                second = second->next;                continue;            }            res->next = second;            res = res->next;            first = first->next;            second = second->next;                    }        res->next = NULL;        return head;    }};


0 0
原创粉丝点击