LeetCode:83.Remove Duplicates from Sorted List

来源:互联网 发布:大亚湾网络问政 编辑:程序博客网 时间:2024/06/05 14:16

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.

C++ Solution:

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

原创粉丝点击