0
在列表樹的落葉歸我到目前爲止這樣的代碼:如何在Haskell
data BinaryTree a = Null | Node a (BinaryTree a) (BinaryTree a)
treeLeaves :: BinaryTree a -> [a]
treeLeaves tree = case tree of
Null -> []
Node v t1 t2 -> [] ++ treeLeaves t1 ++ treeLeaves t2
我不知道我做錯了。它輸出一個空的列表。
在寫入Haskell之前,請先解釋一下你自己會怎麼做?您希望程序採取哪些步驟來返回樹葉? –
'[] ++ x ++ y'是'x ++ y'。 'treeLeaves'在什麼時候返回別的不是'[]'? – Zeta
來自'Node v t1 t2'的'v'參數在實現中不使用。嗯,也許我們可以用它做點什麼,或者用'_'代替不要分心...... –