我正在编写一个函数,该函数采用 2 个二叉树(t1 和 t2)并生成一棵将 t2 放在 t1 右下角的新树。t2 附加到右孩子为空的第一个节点,即使该节点不是叶子。
let rec adjoin_right (t1: 'a tree) (t2: 'a tree) : 'a tree
测试用例:
let test () : bool =
adjoin_right (Node (Empty, 1, Empty)) (Node (Empty, 2, Empty)) =
Node(Empty, 1, Node (Empty, 2, Empty))
;; run_test "adjoin_right leaf" test
有人可以引导我解决这个问题吗?我知道我可能不得不编写一个辅助函数。