我想創建一個方案尾遞歸函數flatten-tl-rec,展平列表的嵌套列表。方案尾遞歸
(define flatten-tl-rec
(lambda (xs)
(letrec ([flatten-tl-rec-acc
(lambda (xs acc)
(cond ((empty? xs) acc)
((list? (first xs)) (flatten-tl-rec-acc (rest xs) (append (flatten-tl-rec-acc (first xs) '()) acc)))
(else (flatten-tl-rec-acc (rest xs) (cons (first xs) acc))))
)])
(flatten-tl-rec-acc xs '()))))
(flatten-tl-rec '(1 2 3 (4 5 6) ((7 8 9) 10 (11 (12 13)))))
但我正在逐漸(13 12 11 10 9 8 7 6 5 4 3 2 1)
而不是(1 2 3 4 5 6 7 8 9 10 11 12 13)
。 這裏有什麼錯?