题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/ 删除链表中等于给定值 val 的所有节点。 示例: 输入: 1-2-6-3-4-5-6, val = 6输出: 1-2-3-4-5 1 /* * 2 * Definition for singly-linked list. 3 * str
题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * struct ListNode *next; 6 * }; 7 */ 8 struct ListNode* removeElements(struct ListNode* head, int val){ 9 while(head!=NULL&&head->val==val){ 10 head=head->next; 11 } 12 if(head==NULL) return NULL; 13 struct ListNode *p=head; 14 while(p->next!=NULL){ 15 if(p->next->val==val) p->next=p->next->next; 16 else p=p->next; 17 } 18 return head; 19 }