[LeetCode]203. Remove Linked List Elements

来源:互联网 发布:铁路定额预算软件 编辑:程序博客网 时间:2024/05/29 04:39

203. Remove Linked List Elements

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) {        if(head == NULL)            return NULL;        ListNode* dummyHead = new ListNode(0);        dummyHead->next = head;        ListNode* pCur = dummyHead;        while(pCur && pCur->next){            if(pCur->next->val == val){                ListNode* delNode = pCur->next;                pCur->next = pCur->next->next;                delete delNode;            }else                pCur = pCur->next;        }        return dummyHead->next;    }};
原创粉丝点击