LeetCode 2331. Evaluate Boolean Binary Tree in F#
URL
Evaluate Boolean Binary Tree - LeetCode
Code
type Tree =
| Leaf
| Node of int * Tree * Tree
let rec evaluateTree (root: Tree) : bool =
match root with
| Leaf -> failwith "never reach here"
| Node(v, Leaf, Leaf) -> v = 1
| Node(_, _, Leaf)
| Node(_, Leaf, _) -> failwith "never reach here"
| Node(v, left, right) ->
if v = 2 then
(evaluateTree left) || (evaluateTree right)
else
(evaluateTree left) && (evaluateTree right)