-2

如何为以下树结构展平树(中序遍历):https ://gist.github.com/damadamdam/7b6364220b11871f2930

我的预期答案也附在要点中。

4

1 回答 1

1

AnEither包含 A 类型的字段或 B 类型的字段,但绝不会同时包含两者。您可以将一个函数传递给它的ifLeft()方法,该方法只有在它包含一个 A 时才会被调用。您可以将一个函数传递给它的ifRight()方法,如果它包含一个 B,它将被调用。所以,如果你同时调用这两种方法,一个且只有一个函数将被调用。

函数只是一个您可以实现的接口,它将某些东西转换为其他东西。

ATree要么是单个元素,要么是三棵树的三元组(本身要么是一个元素,要么是三棵树的三元组等),形成递归数据结构。

Triple 有左、中、右元素。

要遍历树,您应该检查它是否包含单个元素或三元组。如果是单个元素,则遍历结束。如果它是一个三元组,那么你应该遍历它的左树、中间树和右树。

于 2013-03-15T21:59:58.483 回答