美文网首页算法学习打卡计划
leetcode第二百零三题—移除链表元素

leetcode第二百零三题—移除链表元素

作者: 不分享的知识毫无意义 | 来源:发表于2020-04-21 18:58 被阅读0次

    这道题还比较简单,没有太多知识点。

    1.题目

    原题

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

    例子

    输入: 1->2->6->3->4->5->6, val = 6
    输出: 1->2->3->4->5

    2.解析

    老方法定义一个头部节点,然后指向head,这样相当于新链表可以记录head的前一个位置节点。然后根据情况更新新链表就好了。

    3.python代码

        def removeElements(self, head, val):
            if head is None:
                return head
            p = ListNode(1)
            p.next = head
            new = p
            cur = head
            while cur:#其实p就是记录的前一个元素
                if cur.val == val:
                    p.next = cur.next
                else:
                    p = cur#下面改变cur值跟p无关
                cur = cur.next
            return new.next
    

    相关文章

      网友评论

        本文标题:leetcode第二百零三题—移除链表元素

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