【发布时间】:2012-11-26 22:54:25
【问题描述】:
我目前正在使用 4clojure Problem 23
我当前的解决方案使用递归遍历列表并将每个元素附加到同一函数结果的末尾:
(fn self [x] (if (= x [])
x
(conj (self (rest x)) (first x))
))
但是当我针对 [1 2 3] 运行它时,它给了我 (1 2 3)
我认为它应该通过递归做的是:
(conj (conj (conj (conj (conj [] 5) 4) 3) 2) 1)
确实返回
[5 4 3 2 1]
但恰恰相反,所以我一定是遗漏了一些东西。另外,我不明白为什么一个返回向量而另一个返回一个列表。
【问题讨论】: