算法学习打卡计划

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

2020-04-21  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读