[LeetCode] Remove Duplicates from Sorted List

来源:互联网 发布:js实现加载等待效果 编辑:程序博客网 时间:2024/05/29 08:25

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) {        if(head == NULL) return NULL;        ListNode* p1 = head;        ListNode* p2 = head -> next;        int v1,v2;        while(p2){            v1 = p1 -> val;            v2 = p2 -> val;            if(v1 == v2)                p2 = p2 -> next;            else{                p1 -> next = p2;                p1 = p2;                p2 = p2 -> next;            }        }        if(p2 == NULL)            p1 -> next = NULL;        return head;    }};


0 0
原创粉丝点击