Use a second argument on which to cons nodes as you encounter them:
(define preorder (lambda (tree) (preorder-onto tree '()))) (define preorder-onto (lambda (tree list) (if (empty-tree? tree) list (cons (root tree) (preorder-onto (left-subtree tree) (preorder-onto (right-subtree tree) list)))))) |
![]() |