Function f上二叉树的前序遍历#

Function f上二叉树的前序遍历#,function,f#,functional-programming,pattern-matching,binary-tree,Function,F#,Functional Programming,Pattern Matching,Binary Tree,我正在编写一个函数,它接受一个树t1并返回一个字符串,其中所有数字都存储在t1(前序横向)中,并用空格分隔 例如: convertToStr( Node (Node (Node (Empty, 6, Empty), 2, Empty), 5, Node (Empty, 0, Node (Empty, 1, Empty))) ) 会给我 “52601” 我仍然没有得到期望的输出。我无法打印正确的子树。感谢您的任何帮助您的第二个和第三个案例无法打印v。最直接的解决办法是纠正这一点 let rec

我正在编写一个函数,它接受一个树t1并返回一个字符串,其中所有数字都存储在t1(前序横向)中,并用空格分隔

例如:

convertToStr( Node (Node (Node (Empty, 6, Empty), 2, Empty), 
5, Node (Empty, 0, Node (Empty, 1, Empty))) )
会给我

“52601”


我仍然没有得到期望的输出。我无法打印正确的子树。感谢您的任何帮助

您的第二个和第三个案例无法打印
v
。最直接的解决办法是纠正这一点

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)