f#上二叉树的前序遍历

问题描述 投票:1回答:1

我正在编写一个函数,它接受树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)

我仍然没有得到所需的输出。我在打印正确的子树时遇到问题。任何帮助表示赞赏

function f# functional-programming pattern-matching binary-tree
1个回答
2
投票

你的第二和第三个案件无法打印v。最直接的解决方法是解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.