83. Remove Duplicates from Sorted List


83. Remove Duplicates from Sorted List

(相似题目:82. Remove Duplicates from Sorted List II

Given a sorted linked list, delete all duplicates such that each element appear only once.

Example 1:

Input: 1->1->2
Output: 1->2

Example 2:

Input: 1->1->2->3->3
Output: 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) {
        //comepared with the 81-th problem,I think this is more simple..
        ListNode* cur = head;
        while(cur != NULL && cur->next != NULL){  
            if(cur->val == cur->next->val){
                cur->next = cur->next->next;        
            }   
            else cur = cur->next;
        }
        return head;
    }
};

 reference:remove-duplicates-from-sorted-list/Short-C++-solution-8ms

posted @ 2018-08-11 19:11  hozhangel  阅读(86)  评论(0编辑  收藏  举报