Код Ревью

Сравни свои решения

    #| 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 |#