我有一个函数treeLeaves :: BinaryTree a -> [a]
。此函数应采用一棵二叉树并返回一个包含该树的叶子的列表,即所有在其下没有子树的节点。你能帮助我吗?我不知道如何开始。
data BinaryTree a = Null | Node a (BinaryTree a) (BinaryTree a)
答案 0 :(得分:0)
使用模式匹配和递归很容易做到这一点。在递归中,有基本情况和递归情况。
基本情况是函数不调用而返回某些内容 相同的功能
递归情况是函数以较小范围的参数调用同一个函数,并在返回之前对其进行处理。
因此对于Haskell中的Tree结构,您需要遵循以下三点。
对于上述每一项,您还需要弄清楚该函数需要返回什么。