leetcode:203 Remove Linked List Elements-每日编程第四十题

来源:互联网 发布:软件详细设计方案 编辑:程序博客网 时间:2024/06/15 01:23

Remove Linked List Elements

Total Accepted: 44897 Total Submissions: 165785 Difficulty: Easy

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


0 0