tvl-depot/scratch/crack_the_coding_interview/to_tree.hs

12 lines
235 B
Haskell
Raw Normal View History

data Tree a = Node a [Tree a] deriving (Show)
withRoot :: [a] -> [Tree a]
withRoot xs = xs |> toThing |> fmap buildTree
buildTree :: (a, [a])
toTree :: [a] -> Tree a
toTree [x] = Node x []
toTree [x | xs] = Node x (toTree xs)