0

我收到一棵树,并假设输出相同的树,其值为否定:1 变为 -1,-2 变为 2,#t 变为 #f,反之亦然。

这棵树是灵活的——每个都可以有多个儿子,一个或一个都没有。我不允许添加用户定义的帮助程序。但是,我可以使用内置(原始)程序:length、equal?、append、foldl、map、boolean?、not、take、last。

到目前为止,我所拥有的是:

(define inverse-tree
  (lambda (tree)
    (cond ((eq? '() tree) '())
        ((pair? tree) 
         (make-tree (inverse-tree (car tree))
                    (inverse-tree (cdr tree))))
        (else (tree)))))
4

0 回答 0