tvl-depot/users/wpcarro/scratch/crack_the_coding_interview/to_tree.hs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

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)