3 ms·
How about: do_tree([Value | Children], Fun) -> [Fun(Value) | [do_tree(Child, Fun) || Child <- Children]]; do_tree([], _Fun) -> []. sum_tree(NumTree)
by kennu 16y ago
How about:
do_tree([Value | Children], Fun) ->
[Fun(Value) | [do_tree(Child, Fun) || Child <- Children]];
do_tree([], _Fun) -> [].
sum_tree(NumTree) ->
lists:foldl(fun(Elem, AccIn) -> Elem+AccIn end, 0,
lists:flatten(do_tree(NumTree, fun(Value) -> Value end))).