我正在学习 Lisp。我已经实现了一个 Common Lisp 函数,它使用递归合并两个按字母顺序排列的字符串。这是我的代码,但它有问题,我没有弄明白。
(defun merge (F L)
(if (null F)
(if (null L)
F ; return f
( L )) ; else return L
;else if
(if (null L)
F) ; return F
;else if
(if (string< (substring F 0 1) (substring L 0 1)
(concat 'string (substring F 0 1)
(merge (substring F 1 (length F)) L)))
(
(concat 'string (substring L 0 1)
(merge F (substring L 1 (length L)) ))
))))
编辑:我只是想合并两个字符串,例如输入是字符串a = adf
和字符串b = beg
,结果或输出应该是abdefg
。
提前致谢。