leetcode 203. Remove Linked List Elements

来源:互联网 发布:java 异步网络请求 编辑:程序博客网 时间:2024/06/05 15:13

203. Remove Linked List Elements

Remove all elements from a linked list of integers that have value val.

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6,  val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5


/** * 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)     {        if(!head)                return NULL;        while(head && head->val==val)         {            ListNode*p=head->next;            delete head;            head=p;        }        if(!head)                return NULL;                      ListNode* last=head;        ListNode* p=head->next;        while(p)        {            if(p->val==val)             {                last->next=p->next;                ListNode* q=p;                delete q;                p=last->next;            }             else            {                p=p->next;                last=last->next;            }        }        return head;    }};


原创粉丝点击