203. Remove Linked List Elements
My Submissions QuestionEditorial Solution
Total Accepted: 59711 Total Submissions: 209326 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
Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /**  * 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) {         while(head != NULL && head->val == val) {             head = head->next;         }         if(head == NULL) {             return NULL;         }         ListNode *p = head;         ListNode *q= p->next;         while(p != NULL && p->next != NULL) {             q = p->next;             while(q != NULL && q->val == val) {                 q = q->next;             }             p->next = q;             p = q;         }         return head;     } }; | 
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼
❤ 点击这里 -> 订阅《从放弃C语言到使用C++刷算法的简明教程》by 柳婼
❤ 点击这里 -> 订阅PAT甲级乙级、蓝桥杯、GPLT天梯赛、LeetCode题解离线版
