JS
Size: a a a
JS
A
N
N
N
N
ЗП
data Tree a = Leaf | Node (Tree a) a (Tree a)мне кажется с деревом так не получиться
repeatT x = fix \t -> Node t x t
flattenTree Leaf = []
flattenTree (Node ln x rn) = flattenTree ln <> [x] <> flattenTree rn
example = take 10 $ flattenTree $ repeatT 1
ЗП
IO
reallyUnsafePtrEquality#FTW)
flattenTree :: Tree a -> [a]Жалко с
flattenTree Leaf = []
flattenTree t@(Node l x r)
| isTrue# (reallyUnsafePtrEquality# t l) = repeat x
| otherwise = flattenTree l <> [x] <> flattenTree r
-- >>> take 10 $ flattenTree $ repeatT 1
-- [1,1,1,1,1,1,1,1,1,1]
walk n = Node (walk $ n - 1) n (walk $ n + 1) такой номер уже не пройдетЗП
[
[
JS
[
MK