我正在编写一个函数,该函数接受一棵树t1并返回一个字符串,其中所有数字都存储在t1中(preoder遍历),并用空格分隔。
例如:
convertToStr( Node (Node (Node (Empty, 6, Empty), 2, Empty),
5, Node (Empty, 0, Node (Empty, 1, Empty))) )
会给我
“ 5 2 6 0 1”
let rec convertToStr t1 =
match t1 with
| Node(E, v, E) -> String(v)
| Node(E, v, w) -> converToStr(w)
| Node(u, v, E) -> convertToStr(u)
| Node(u, v, w) -> String(v) + convertToStr(u) + convertToStr(w)
我仍然没有得到想要的输出。我在打印正确的子树时遇到问题。感谢您的帮助
答案 0 :(得分:2)
您的第二和第三种情况无法打印v
。最直接的解决方法是对此进行补救。