方案改变树值

时间:2018-04-24 18:12:06

标签: tree scheme negate

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

0 个答案:

没有答案