Remove Linked List Elements

原创 2016年06月01日 14:27:22
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

思路:在一个链表中,移除等于给定数值的链表节点。使用一个辅助头节点进行帮忙,记录每个节点的前驱节点,如果当前节点的val值等于给定的val值,则当前节点是需要移除的节点。由于在整个遍历过程中已经记录了当前节点的前驱节点,移除操作就比较简单了。

/**
 * 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 head;
        ListNode *res=new ListNode(0),*pre=res;
        res->next=head;
        ListNode *p=head;
        while(p)
        {
            if(p->val==val)
            {
                ListNode *tmp=p->next;
                pre->next=tmp;
                delete p;
                p=tmp;
            }
            else
            {
                pre=p;
                p=p->next;
            }
        }
        return res->next;
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构之Remove Linked List Elements 以及二叉树对称Symmetric Tree

今天继续来闲话几句数据结构之单链表,题目的意思是删除链表中的特定元素,想来想去用C/C++ 来coding,才能更深刻的理解数据结构,故而以后在关于数据结构方面,我尽量用c/c++ 来coding。看...

[LeetCode] Remove Linked List Elements

Remove all elements from a linked list of integers that have value val. Example Given: 1 –> 2 –> 6...

Leetcode 203. Remove Linked List Elements

Remove all elements from a linked list of integers that have value val.Example Given: 1 –> 2 –> 6 –...

Leetcode_203_Remove Linked List Elements

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/45868027 Remove all el...

203. Remove Linked List Elements

描述: Remove all elements from a linked list of integers that have value val.Example Given: 1 –> 2 –...

leetcode 203. Remove Linked List Elements

我觉得在使用链表的时候一般有两种思路:一种是链表的内容可以修改,在原链表上进行处理,后续的操作不需要使用原链表的内容的时候这种思路可以节约空间和时间;另外一种是当我们不能更改链表的内容,后续需要用到的...

Remove Linked List Elements - LeeCode 203

题目描述: Remove all elements from a linked list of integers that have value val. Example Given: 1 ...
  • bu_min
  • bu_min
  • 2015年05月17日 11:48
  • 219

Remove Linked List Elements

Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -...

LeetCode Remove Linked List Elements

题目: Remove all elements from a linked list of integers that have value val. Example Given: ...

<LeetCode OJ> 203. Remove Linked List Elements

203. Remove Linked List Elements My Submissions Question Total Accepted: 45239 Total Submissions...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Remove Linked List Elements
举报原因:
原因补充:

(最多只允许输入30个字)