JZX轻语:简

LeetCode 3217 - 从链表中移除在数组中存在的节点

发表于2024年08月07日

#链表

模板题,直接使用两个变量prevcurr,分别表示当前节点和前一个节点,然后遍历链表,如果当前节点的值在数组中,则删除当前节点: prev.next = curr.next。注意删除节点后,prev不需要移动。

class Solution:
    def modifiedList(self, nums: List[int], head: Optional[ListNode]) -> Optional[ListNode]:
        nums = set(nums)
        dummy = ListNode(0, head)
        prev = dummy
        curr = head
        while curr is not None:
            if curr.val in nums:
                prev.next = curr.next    
            else:
                prev = curr
            curr = curr.next
        return dummy.next

闪念标签:LC

题目链接:https://leetcode.cn/problems/delete-nodes-from-linked-list-present-in-array/