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

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

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容