[leetcode] Remove Duplicates from Sorted List

来源:互联网 发布:linux嵌入式开发工资 编辑:程序博客网 时间:2024/06/08 05:56

From : https://leetcode.com/problems/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) return NULL;        ListNode* p1 = head, *p2 = head->next, *t;        while(p2) {            if(p1->val == p2->val) {                t = p2;                p2 = p2->next;                p1->next = p2;                delete t;            } else {                p1 = p2;                p2 = p2->next;            }        }        return head;    }};


0 0
原创粉丝点击