我试图使用Haskell生成一个完整的二叉树。 但是,我不确定我是否沿着正确的路线前进。 我现在有以下代码(不确定它是否正确):
data Tree a = Leaf a | Branch (Tree a) (Tree a) deriving (Show,Eq)
listToTree :: [a] -> Tree a
listToTree [] = error "The list cannot be empty"
listToTree [x] = Leaf x
我需要函数接收任何基本类型的输入列表,并使用作为输入提供的列表中的第一级顺序构造树。我不确定最好的方法是什么。
有什么建议吗?