我目前正在处理 4clojure问题 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]
但这恰恰相反,所以我一定错过了一些东西。另外,我不明白为什么一个返回一个向量而另一个返回一个列表。