203. Remove Linked List Elements

来源:互联网 发布:室内设计需要哪些软件 编辑:程序博客网 时间:2024/06/04 19:09

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

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

/** * 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* temp=head;        ListNode* pre=NULL;        while(head)        {            if(head->val==val)            {                if(pre!=NULL)                {                    pre->next=head->next;                }                else                {                      temp=head->next;                }                          }            else            {                pre=head;            }                        head=head->next;    }    return temp;    }};

0 0
原创粉丝点击