【leetcode-83】Remove Duplicates from Sorted List

題目:刪除有序鏈表中重複的元素,對於重複的元素只保留一個。比如Given 1->1->2, return 1->2。Given 1->1->2->3->3, return 1->2->3

思路:題目很簡單,就是設定2個指針,一前一後比較,如果前面指針指向的值和後面的指針指向的值相同,將後面指針指向的元素move掉


class Solution {
public:
    ListNode *deleteDuplicates(ListNode *head) {
        if(head==NULL){
            return NULL;
        }
        ListNode *p1=head;
        ListNode *p2=p1->next;
        if(p2==NULL){
            return p1;
        }
        while(p2){
            if(p1->val==p2->val){
                p1->next=p2->next;
                p2=p1->next;
            }else{
             	p2=p2->next;
                p1=p1->next;
            }
        }
        return head;
    }
};


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章