LeetCodeOJ_203_Remove Linked List Elements

来源:互联网 发布:四海金戈 全武将数据 编辑:程序博客网 时间:2024/06/06 04:56

答题链接

题目:

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* preNode;        ListNode* curNode;        curNode=head;        preNode=NULL;        while(curNode!=NULL){                       if(curNode->val==val){                if(preNode!=NULL)                    preNode->next=curNode->next;                else                    head=head->next;//首个节点值为val的情况            }            else                preNode=curNode;            curNode=curNode->next;        }        return head;    }};

结果:

这里写图片描述

0 0
原创粉丝点击