LeetCode 129. Sum Root to Leaf Numbers in F#

URL

Sum Root to Leaf Numbers - LeetCode

Code

https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/challenge/202404/sum_of_root_to_leaf_numbers/main.fsx

type Tree =
    | Leaf
    | Node of int * Tree * Tree

let sumNumbers (root: Tree) : int =
    let rec sumNumbers' node total =
        match node with
        | Leaf -> 0
        | Node(v, Leaf, Leaf) -> 10 * total + v
        | Node(v, left, right) ->
            let total' = 10 * total + v
            (sumNumbers' left total') + (sumNumbers' right total')

    sumNumbers' root 0