LeetCode 203 Remove Linked List Elements

来源:互联网 发布:林忆莲 野风 知乎 编辑:程序博客网 时间:2024/05/22 01:42

LeetCode 203 Remove Linked List Elements

#include <stddef.h>//否则NULL会报错为未定义的标识符using namespace std; struct ListNode {     int val;    ListNode *next;    ListNode(int x) : val(x), next(NULL) {} };class Solution {public:    ListNode* removeElements(ListNode* head, int val) {    //使用两个指针进行遍历        ListNode* pre= new ListNode(0);        pre->next = head;//指向头的指针        ListNode* begin = head;        ListNode* prehead = pre;        while (begin != NULL){            if (begin->val != val){                prehead = begin;                begin = begin->next;            }            else if (begin->val == val){                prehead->next = begin->next;                begin = begin->next;            }        }        return pre->next;    }};