我试图编写一个名为removesub*的函数,它接受两个参数(l1 and l2)。该函数需要返回第二个列表,并删除子序列的第一个出现。因此,如果第一个列表是'(a b c),第一个a (如果第二个列表被删除)、第一个(在删除的a之后)出现的b,以及删除的b之后出现的第一个c --不管原子嵌套的有多深。
输入:(removesub* '(a b) '(w (x b) ((a) ((y z))) b a))
我目前的尝试似乎不起作用,因为我无法在嵌套递归调用之间共享l1参数,即((pair? (ca