203. 移除链表元素

    xiaoxiao2025-05-26  11

    应该挺简单

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* removeElements(ListNode* head, int val) { ListNode *p,*q; while(head!=NULL&&head->val==val){ head=head->next; } if(head==NULL) return head; if(head->next==NULL&&head->val==val) return NULL; if(head->next==NULL&&head->val!=val) return head; p=head;q=head->next; while(q!=NULL){ if(q->val==val){ p->next=q->next; q=p->next; }else{ p=p->next; q=q->next; } } return head; } };
    最新回复(0)