Код Ревью
Сравни свои решения
#| BEGIN (Введите свое решение) |#
(define (encode-symbol symbol tree)
(define (contains-symbol? symbols sym)
(cond ((null? symbols) #f)
((eq? (car symbols) sym) #t)
(else (contains-symbol? (cdr symbols) sym))))
(cond ((leaf? tree)
(if (eq? (symbol-leaf tree) symbol)
'()
(error "Symbol not found in tree" symbol)))
((contains-symbol? (symbols (car tree)) symbol)
(cons 0 (encode-symbol symbol (car tree))))
((contains-symbol? (symbols (cadr tree)) symbol)
(cons 1 (encode-symbol symbol (cadr tree))))
(else (error "Symbol not found in tree" symbol))))
#| END |#