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;
    }
};


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

203. Remove Linked List Elements [easy] (Python)

题目链接https://leetcode.com/problems/remove-linked-list-elements/题目原文 Remove all elements from a link...
  • coder_orz
  • coder_orz
  • 2016年06月18日 16:30
  • 2875

leetcode 203: Remove Linked List Elements

Remove Linked List Elements Total Accepted: 2921 Total Submissions: 10427 Remove all elements ...
  • xudli
  • xudli
  • 2015年04月25日 06:47
  • 4811

203. Remove Linked List Elements Leetcode Python

Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -...
  • hyperbolechi
  • hyperbolechi
  • 2015年05月03日 06:18
  • 1083

[C语言][LeetCode][203]Remove Linked List Elements

题目Remove Linked List Elements Remove all elements from a linked list of integers that have value va...
  • Timsley
  • Timsley
  • 2016年04月13日 08:31
  • 591

203. Remove Linked List Elements(python)

Remove all elements from a linked list of integers that have value val. Example Given: 1 –> 2 –> 6...
  • qq_28119401
  • qq_28119401
  • 2016年09月18日 21:39
  • 285

Leetcode_203_Remove Linked List Elements

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/45868027 Remove all el...
  • pistolove
  • pistolove
  • 2015年05月20日 10:57
  • 936

lintcode-Remove Linked List Elements-452

Remove all elements from a linked list of integers that have value val. 样例 Given 1->2->3->...
  • ljlstart
  • ljlstart
  • 2015年10月19日 00:19
  • 376

LeetCode-Easy部分中标签为LinkedList 203 Remove Linked List Elements

删除等于某个值的所有节点,返回删除后的单链表。 设立一个临时指针tmp指向链表头,假定头不等于要删除的节点,判断下一个节点是否等于,如果等于将tmp指向删除节点的下一个节点,。。。...
  • daigualu
  • daigualu
  • 2017年04月06日 14:28
  • 342

【LeetCode】 203. Remove Linked List Elements C语言

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNod...
  • godlovelong
  • godlovelong
  • 2017年04月18日 09:11
  • 199

LeetCode203:Remove Linked List Elements

Remove all elements from a linked list of integers that have value val. Example Given: 1 --> 2 -...
  • u012501459
  • u012501459
  • 2015年07月24日 15:46
  • 969
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Remove Linked List Elements
举报原因:
原因补充:

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