二分木の高さ(つまり、ルートからリーフまでの最長パスに沿ったノードの数)を見つける関数を作成しました。
let rec height (t: 'a tree) : int =
begin match t with
| Empty -> 0
| Node (l, v, r) -> 1 + max (height 1) (height r)
end
私の関数は正しいと思いますが、テストを実行したときに発生する構文エラーは、「この関数はあまりにも多くの引数に適用されています。';'を忘れた可能性があります。
これは私のテストケースです
let test () : bool =
height Node(Node(Empty, 1, Empty), 3, Node(Empty, 2, Node(Empty, 4, Empty))) = 3
;; run_test "Node(Node(Empty, 1, Empty), 3, Node(Empty, 2, Node(Empty, 4, Empty)))" test
私のテストケースの何が問題になっていますか?
ありがとう!