我需要一些幫助來弄清楚如何在Haskell中創建leftSpine
函數。 基本上,它應該把所有最左邊的葉子放到列表中,但是每當我運行我的代碼時,我都會得到一個空的列表。任何幫助,將不勝感激。編寫一個函數來計算樹的左側脊柱
這是我的代碼。
data Tree x = Leaf | Node (Tree x) x (Tree x)
deriving Show
leftSpine :: Tree x -> [x]
leftSpine Leaf = []
leftSpine (Node lt x rt) = (leftSpine lt)
這裏是我的代碼來測試它。
leftSpine (Node (Node (Node Leaf 1 Leaf) 2 (Node Leaf 3 Leaf))
4
(Node (Node Leaf 5 Leaf) 6 (Node Leaf 7 Leaf)))
應該等於[4,2,1]
但它只是出來作爲[]
。
我不敢相信我看不到!我做了改變,運行了代碼並且完美地工作。非常感謝! – Zantengetsu 2012-02-07 02:01:50
它發生在我們所有人身上。別擔心。 – 2012-02-07 02:02:39