Haskell 将两棵树合并成一棵树会导致错误的输出

问题描述 投票:0回答:1

我想制作一个简单的函数将两棵树合并成一棵树然后返回它。虽然我没有收到任何错误,但该函数输出了错误的树。这让我觉得这个函数在某个地方有不正确的逻辑,但我无法弄清楚。

data Tree = Node Int Tree Tree | Leaf
   deriving Show

mergeTrees :: Tree -> Tree -> Tree
mergeTrees Leaf Leaf = Leaf
mergeTrees t Leaf = t
mergeTrees Leaf t = t
mergeTrees (Node val1 left1 right1) (Node val2 left2 right2) =
   Node (val1 + val2) (mergeTrees left1 left2) (mergeTrees right1 right2)
haskell tree
1个回答
0
投票

这是一个很棒的问题,请解决它

© www.soinside.com 2019 - 2024. All rights reserved.