LeetCode 872. Leaf-Similar Trees in F#
URL
Code
https://github.com/syohex/leetcode/blob/master/problems/0872/main.fsx
type Tree =
| Leaf
| Node of int * Tree * Tree
let leafSimilar (root1: Tree) (root2: Tree) : bool =
let rec collectLeaves node acc =
match node with
| Leaf -> acc
| Node(v, Leaf, Leaf) -> v :: acc
| Node(v, left, right) ->
let acc' = collectLeaves left acc
collectLeaves right acc'
let v1 = collectLeaves root1 []
let v2 = collectLeaves root2 []
v1 = v2