flatTree<E> function
Implementation
List<EasyTreeNode<E>> flatTree<E>(List<EasyTreeNode<E>>? nodes) {
if (nodes == null) return [];
List<EasyTreeNode<E>> stack = [], result = [];
stack.addAll(nodes);
while (stack.length > 0) {
EasyTreeNode<E> node = stack.removeAt(0);
if (!result.contains(node)) result.add(node);
if (!node.isLeaf) stack.insertAll(0, node.children!);
}
return result;
}