我正在尝试将树减少到列表,但我被困在这里..任何建议都赞赏..
data Tree a = Leaf a | Node (Tree a) a (Tree a) deriving (Eq, Show)
treeToList :: (Ord a) => Tree a -> [a]
treeToList (Node root left right) = treeToList left ++ [root] ++ treeToList right
Run Code Online (Sandbox Code Playgroud)
期待结果:
Run Code Online (Sandbox Code Playgroud)ghci> treeToList (Node (Leaf 1) 2 (Node (Leaf 3) 4 (Leaf 5))) [1,2,3,4,5]
haskell ×1