LeetCode之Remove Linked List Elements

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        if(head == nullptr) return head;
        ListNode *pre, *p;
        while(head != nullptr && head->val == val){
            p = head;
            head = head->next;
            delete p;
        }
        pre = head;
        p = head;
        if(head != nullptr) head = head->next;
        while(head != nullptr){
            if(head->val == val){
                head = head->next;
                delete pre->next;
                pre->next = head;
            }
            else{
                head = head->next;
                pre = pre->next;
            } 
        }
        return p;
    }
};

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