Easy-题目51:203. Remove Linked List Elements

转载 2016年05月30日 20:50:40

题目原文:
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
题目大意:
删除单链表中指定节点。
题目分析:
用两个指针p和q(p始终是q前驱节点)并行向后推,若找到q是待删除节点(q->val==val)则删除q,但还没有处理头结点,故看一下head->val与val是否相等。
源码:(language:cpp)

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode *p=head;
        if(!p || (!p->next && p->val==val))//p is null or (length of linklist=1 and this unique node is going to be deleted)
            return NULL;
        else {
            ListNode *q=head->next;
            while(q) {
                if(q->val==val) {// the first node is going to be deleted
                    p->next=p->next->next;
                    q=q->next;
                    continue;
                }
                else {
                    p=p->next;
                    q=q->next;
                }
            }
            if(head->val!=val)
                return head;
            else
                return head->next;
        }
    }
};

成绩:
32ms,beats 54.36%,众数36ms,45.72%.

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
  • 2857

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
  • 4804

[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
  • 578

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
  • 1079

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
  • 279

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

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

Leetcode_203_Remove Linked List Elements

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

【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
  • 192

leetcode(51).203. Remove Linked List Elements

题意: 给一个链表和一个数,删除值等于这个数的所有结点。 初步分析:删除是很简单的,关键是边界情况的处理,尾边界有循环条件处理。头边界可以利用一个头结点之前的新的头结点来处理。注意要将原来的头节点给保...
  • pusude
  • pusude
  • 2016年11月25日 14:54
  • 69

203. Remove Linked List Elements(Linked List)

为什么这么简单还贴出来,在 2. Add Two Numbers中,我已经解释了,不要问我有多菜……题目:Remove all elements from a linked list of integ...
  • baibaibai66
  • baibaibai66
  • 2016年05月20日 19:00
  • 122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Easy-题目51:203. Remove Linked List Elements
举报原因:
原因补充:

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