LeetCode 3217. Delete Nodes From Linked List Present in Array in F#

URL

Delete Nodes From Linked List Present in Array - LeetCode

Code

https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/challenge/202409/delete_nodes_from_linked_list_present_in_array/main.fsx

type ListNode =
    | Nil
    | Node of int * ListNode

let modifiedList (nums: int list) (head: ListNode) : ListNode =
    let rec modifiedList' node nums =
        match node with
        | Nil -> Nil
        | Node(v, next) ->
            if Set.contains v nums then
                modifiedList' next nums
            else
                Node(v, modifiedList' next nums)

    modifiedList' head (Set.ofList nums)