99 道 Elm 問題/問題 7
外觀
使巢狀列表結構扁平化。
我們必須定義一種新的資料型別,因為 Elm 中的列表是同構的。
import Html exposing (text)
import List
type NestedList a
= Elem a
| NestedList (List (NestedList a))
flatten : NestedList a -> List a
-- your implementation goes here
main =
text <| toString <|
flatten (NestedList [Elem 1, NestedList [Elem 2, NestedList [Elem 3, Elem 4], Elem 5]])
結果
[1, 2, 3, 4, 5]