diff options
Diffstat (limited to '54a-60/56.hs')
-rw-r--r-- | 54a-60/56.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/54a-60/56.hs b/54a-60/56.hs new file mode 100644 index 0000000..7bdc5dd --- /dev/null +++ b/54a-60/56.hs @@ -0,0 +1,11 @@ +data Tree a = Empty | Branch a (Tree a) (Tree a) deriving (Show, Eq) + +symmetric :: (Eq a) => Tree a -> Bool +mirror :: (Eq a) => Tree a -> Tree a -> Bool + +mirror Empty Empty = True +mirror (Branch _ a b) (Branch _ l r) = mirror a r && mirror b l +mirror _ _ = False + +symmetric Empty = True +symmetric (Branch _ l r) = mirror l r |