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.

思路:

考察指针和链表的基本使用。

AC代码:

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