我正在尝试编写一个输入二叉树特定深度的方案程序。例如,二叉树的根为 1,然后左子树的根为 2,以此类推。我应该让它输出在树中有深度的数据表达式。现在我有下面的代码,但我不断收到错误消息:
Error in null?: expected a list; got '1'.
如果您可以在我正在使用的代码中使用相同的术语来解释这一点,那将会很棒,因为我正在学习并且我不知道如何使用一些更大的表达式。
这是代码
(define fetch-exp
(λ (n bt)
(cond [(empty-tree? bt) ▽#f]
[(> n (tree-depth (left-tree bt))) ▽#f]
[(> n (tree-depth (right-tree bt))) ▽#f]
[(one? n) (root bt)]
[(> (tree-depth (left-tree bt)) (tree-depth (right-tree bt)))
(fetch-exp (left-tree bt) (sub1 n))]
[(> (tree-depth (right-tree bt)) (tree-depth (left-tree bt)))
(fetch-exp (right-tree bt) (sub1 n))]
[else ▽#f])))