【发布时间】:2019-11-30 04:03:18
【问题描述】:
我正在尝试编写一个使用二叉树并在其中生成操作总数的函数。我的尝试是检查参数是否为数字,如果是,则在总数中加 1。
有人可以帮我写代码吗?
(define-struct binode (op arg1 arg2))
(define (count-ops bin-exp)
(cond
[(number? bin-exp) 1]
[(binode? bin-exp)
(+ (count-ops (binode-arg1 bin-exp))
(count-ops (binode-arg2 bin-exp)))]))
测试:
(check-expect (count-ops (make-binode ‘+ 4 (make-binode ‘- 5 (make-bin ode ‘+ 3 2)))) 3)
函数产生 4 而不是预期的结果
【问题讨论】:
-
测试用例? 123
标签: scheme lisp binary-tree racket