LinkCode 452 删除链表中的元素

作者: mecury | 来源:发表于2017-01-02 18:09 被阅读45次

前言:我刷LinkCode的第二题,挺简单的

题目:删除链表中等于给定值val的所有节点。

样例
给出链表1->2->3->3->4->5->3, 和 val =3
, 你需要返回删除3之后的链表:1->2->4->5

思路
  1. 先判断第一个节点是否为val,是的话就将head向后移动,直到出现不一样的为止。
  2. 定义一个current,privious代表当前的节点和前面的节点
  3. 断开节点,完成!
    /**
     * @param head a ListNode
     * @param val an integer
     * @return a ListNode
     */
    public ListNode removeElements(ListNode head, int val) {
        // Write your code here
        if (head == null) return null;
        while (head.val == val) {
            if (head.next == null) return null;
            head = head.next;
        }
        if (head == null) return null;
        ListNode current = head.next;
        ListNode previous = head;
        while (current!= null) {
            if (current.val == val) {
                previous.next = current.next;
                current = current.next;
            }else{
                previous = current;
                current = current.next;
            }
        }
        return head;
    }

相关文章

  • LinkCode 452 删除链表中的元素

    前言:我刷LinkCode的第二题,挺简单的 题目:删除链表中等于给定值val的所有节点。 样例给出链表1->2-...

  • 删除链表中的元素

    452. 删除链表中的元素 描述 笔记 数据 评测 删除链表中等于给定值val的所有节点。 您在真实的面试中是否遇...

  • 452. 删除链表中的元素

    删除链表中等于给定值val的所有节点。样例给出链表 1->2->3->3->4->5->3, 和 val = 3,...

  • 452. 删除链表中的元素

    删除链表中等于给定值val的所有节点。样例给出链表 1->2->3->3->4->5->3, 和 val = 3,...

  • 牛客网高频算法题系列-BM15-删除有序链表中重复的元素-I

    牛客网高频算法题系列-BM15-删除有序链表中重复的元素-I 题目描述 删除给出链表中的重复元素(链表中元素从小到...

  • 链表

    JS中可以动态的向数组中添加删除元素,所以不需要链表结构。链表特点: 添加、删除元素很快,不需要进行移动。 单链表...

  • [LintCode]删除链表中的元素

    原文发表在我的博客:删除链表中的元素求关注、求交流、求意见、求建议。 问题 LintCode:删除链表中的元素 描...

  • 单链表和双链表

    单链表(可以用来实现栈和队列) 删除链表的元素 添加元素 双向链表(实现LinkedList) 添加元素 删除元素

  • LeetCode 每日一题 [31] 删除排序链表中的重复元素

    LeetCode 删除排序链表中的重复元素 [简单] 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次...

  • 每周 ARTS 第 5 期

    1. Algorithm 83. 删除排序链表中的重复元素(简单) 描述: 给定一个排序链表,删除所有重复的元素,...

网友评论

    本文标题:LinkCode 452 删除链表中的元素

    本文链接:https://www.haomeiwen.com/subject/iqnwvttx.html