Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type Tree<'T> =
- | Empty
- | Node of left:Tree<'T> * right:Tree<'T> * value:'T
- let isSymmetric (tree : Tree<'T>) =
- let rec loop (left : Tree<'T>, right : Tree<'T>) =
- match (left, right) with
- | (Node (lleft, lright, lval), Node (rleft, rright, rval)) ->
- if lval = rval
- then loop (lleft, rright) && loop (rleft, lright)
- else false
- | (Empty, Empty) -> true
- | _ -> false
- match tree with
- | Node (left, right, _) -> loop (left, right)
- | Empty -> true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement