LeetCode 1305. All Elements in Two Binary Search Trees in F#
Problem URL
leetcode.com/problems/all-elements-in-two-b..
Code
github.com/syohex/dotnet-study/blob/master/..
type TreeNode =
| Empty
| Node of int * TreeNode * TreeNode
let allElements (root: TreeNode) : int list =
let rec allElements' (node: TreeNode) (acc: int list) : int list =
match node with
| Empty -> acc
| Node (value, left, right) ->
let left_acc = allElements' left (value :: acc)
allElements' right left_acc
allElements' root []
let getAllElements (root1: TreeNode) (root2: TreeNode) : int list =
let values1 = allElements root1
let values2 = allElements root2
values1 @ values2 |> List.sort