-1

如何编写一个函数,它具有两个列表的参数并返回两个列表的连接,而不使用 append。

我知道如何获得第二个列表的头部,但我不知道如何将它放在第一个列表中,如果列表的头部也是一个列表,我该怎么办。

4

2 回答 2

0

如果我不得不这样做而不使用APPEND(无论出于何种原因),那么我可能会这样做:

(concatenate 'list list1 list2)

CONCATENATE虽然我觉得这可能是一个家庭作业问题,而且这可能不是您正在寻找的答案,但您可以在HyperSpec中找到更多信息。

于 2013-03-07T12:46:34.003 回答
0

是否允许使用 LOOP 或 DO?

像这样的东西会起作用:

(defun my-concat (x y)
  (loop 
    for o in (reverse x)
    do (push o y)
    finally (return y)))

如果循环不是一个选项,您可能想要使用递归。

于 2013-03-25T09:12:09.870 回答