LeetCode 83. Remove Duplicates from Sorted List

来源:互联网 发布:js将图片上传到服务器 编辑:程序博客网 时间:2024/05/19 17:27

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.

给定一个已排序的链表,删除其中重复的结点。
思路:

class Solution {public:    ListNode* deleteDuplicates(ListNode* head) {        if (head == NULL) return head;        ListNode **pp = &head;        int preValue = (*pp)->val;        pp = &((*pp)->next);        while (*pp)        {            int value = (*pp)->val;            if (preValue == value)            {                ListNode *p = *pp;                *pp = (*pp)->next;                delete p;            }            else {                preValue = value;                pp = &((*pp)->next);            }        }        return head;    }};