sicp/2_27.sch

9 lines
246 B
Scheme

(define (deep-reverse l)
(define (reverse-acc l acc)
(cond ((null? l) acc)
((pair? (car l))
(reverse-acc (cdr l) (cons (deep-reverse (car l)) acc)))
(else
(reverse-acc (cdr l) (cons (car l) acc)))))
(reverse-acc l '()))