getLeaves method
Returns a list of leaves.
If startNode
is specified, it returns a list of leaves
for which startNode
is the common ancestor.
If startNode
is not specified, it returns
a list of all leaves in the tree.
Implementation
@override
Set<Node> getLeaves({
Node? startNode,
}) {
final start = startNode ?? root;
final result = <Node>{};
visitBreadth(
startNode: start,
(node) {
final nodeEdges = getNodeEdges(node);
if (nodeEdges.isEmpty) {
result.add(node);
}
return VisitResult.continueVisit;
},
);
return result;
}