1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * struct ListNode *next; 6 * }; 7 */ 8 9 10 struct ListNode* removeElements(struct ListNode* head, int val){ 11 12 struct ListNode *p = (struct ListNode *)malloc(sizeof(struct ListNode)),*q=head,*tail; 13 p->next = NULL; 14 tail = p; 15 while(q) 16 { 17 if(q->val==val) 18 { 19 20 }else{ 21 struct ListNode *s = (struct ListNode *)malloc(sizeof(struct ListNode)); 22 s->val = q->val; 23 s->next = NULL; 24 tail->next = s; 25 tail = s; 26 } 27 28 q = q->next; 29 } 30 31 return p->next; 32 }
原文:https://www.cnblogs.com/Knightl8/p/14889674.html