203. Remove Linked List Elements

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

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

题目大意:

删除链表中全部的目标元素。

代码如下:

/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:ListNode*removeElements(ListNode*head,intval){while(head!=NULL&&head->val==val)head=head->next;if(head==NULL)returnNULL;ListNode*p=head->next;ListNode*q=head;while(p){if(p->val!=val){q->next=p;q=p;}else{q->next=NULL;}p=p->next;}returnhead;}};

2016-08-12 16:00:52