【发布时间】:2019-11-22 07:58:57
【问题描述】:
我想实现一个删除树中所有空子节点的函数:
makeUnhollow (Node 5 Empty Empty) => Leaf 5
makeUnhollow (Leaf 5) => Leaf 5
makeUnhollow (Node 5 (Leaf 4) Empty) => (Node 5 (Leaf 4) Empty)
这是我当前的代码:
makeUnhollow :: Tree a -> Tree a
makeUnhollow (Node a Empty Empty)= Leaf a
makeUnhollow (Leaf a) = Leaf a
makeUnhollow a = a
但不知何故,我在这段代码中遇到了失败:
Tests.hs:130:
wrong result
expected: Node 6 (Leaf 5) (Leaf 7)
but got: Node 6 (Node 5 Empty Empty) (Node 7 Empty Empty)
【问题讨论】:
-
makeUnhollow目前不会递归到树中。使其递归。
标签: haskell binary-search-tree