Leetcode #83Remove Duplicates from Sorted List

来源:互联网 发布:手机编程用什么语言 编辑:程序博客网 时间:2024/06/05 05:47

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) {        ListNode* p = head ,*q ;    if (p) q = head->next;    else return p;    while (q)    {    if (q->val == p->val)    {    q = q->next;    }    else     {    p->next = q;    p = q;    q = q->next;    }    }    p->next = NULL;    return head;    }};

双指针法

0 0