跳到主要内容

203. 移除链表元素 [easy]

203. 移除链表元素 [easy]

https://leetcode-cn.com/problems/remove-linked-list-elements/

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

示例:

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

通过次数86,863 | 提交次数189,749

First Try

2020-07-07

easy题目,没什么特别的,但是没想到速度会这么慢。

# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None

class Solution(object):
def removeElements(self, head, val):
"""
:type head: ListNode
:type val: int
:rtype: ListNode
"""
dummy = ListNode()
dummy.next = head
node = dummy
while node.next:
if node.next.val == val:
# 可能依然相等或者是none,但是进入下一轮仍然会被判断
node.next = node.next.next
else:
node = node.next
return dummy.next

  • 执行用时:100 ms, 在所有 Python 提交中击败了7.19%的用户
  • 内存消耗:19.6 MB, 在所有 Python 提交中击败了6.67%的用户