我收到一棵树,并假设输出相同的树,其值为否定: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)))))