LeetCode 144. Binary Tree Preorder Traversal in F#
URL
https://leetcode.com/problems/binary-tree-preorder-traversal/description/
Code
https://github.com/syohex/dotnet-study/blob/master/fsharp/leetcode/problems/0144/main.fsx
type Tree =
| Leaf
| Node of int * Tree * Tree
let preorderTraversal (root: Tree) : int list =
let rec preorderTraversal' node acc =
match node with
| Leaf -> acc
| Node (v, left, right) ->
(v :: acc)
|> preorderTraversal' left
|> preorderTraversal' right
preorderTraversal' root [] |> List.rev