I have the following type:
data Tree = Branch (Tree) (Tree) | Leaf Int deriving(Show)
now I want to create a function that gives the highest value leaf in the tree. But I am stuck, because I don't know how to get the two following trees of a given tree.
For example I have a tree a that looks like this: let a = Branch (Leaf 10) (Leaf 2)
How do I read the Leaf with value 10
in another function?
A typical skeleton looks like this:
maxTree :: Tree -> Int
maxTree (Branch x y) = {- TODO -}
maxTree (Leaf n) = {- TODO -}