about summary refs log tree commit diff
path: root/crack_the_coding_interview/to_tree.hs
blob: 8496d88c0c0c7b94a1d6f5ae5164bba0b471cf03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
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)