Leetcode 83 刪除排序鏈表中的重複元素-鏈表雙指針

維護兩個指針,第一個指針指向鏈表沒有重複元素的最後一個位置,第二個指針向後掃描,直到末尾。嚴格來說,在C++中需要手動釋放內存。但在算法題或者Java中不需要這麼做。

class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        if(head==NULL) return head;
        ListNode* cur = head;
        ListNode* p = head->next;
        while(p!=NULL){
            if(cur->val!=p->val) {
                cur->next = p;
                cur = p;
            }
            p = p->next;
        }
        cur->next = NULL;
        return head;
    }
};

 

 

 

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