所以我想出了这段代码,不知道如何继续。
treeSize :: (Integral b) => BinaryTree a -> b
treeSize tree = case tree of
Null -> 0
Node _ t1 t2 ->
答案 0 :(得分:2)
最后一种情况只需Node _ t1 t2 -> 1 + treeSize t1 + treeSize t2
。此外,Integral b
约束为您提供了超出您需要的约束 - Num b
就足够了。
treeSize :: Num b => BinaryTree a -> b
treeSize Null = 0
treeSize (Node _ t1 t2) = 1 + treeSize t1 + treeSize t2