Remove Linked List Elements -- leetcode

来源:互联网 发布:淘宝网韩版卫衣 编辑:程序博客网 时间:2024/04/30 14:38

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 fake(0);        fake.next = head;        ListNode *p = &fake;        ListNode *q = head;        while (q) {            if (q->val != val) {                p = q;                q = q->next;            }            else {                p->next = q->next;                delete q;                q = p->next;            }        }        return fake.next;    }};


0 0