treeDepths function
Returns depth of each node (root = 0). parent at index i is the parent of node i.
Implementation
List<int> treeDepths(List<int> parent) {
final List<int> depth = List.filled(parent.length, 0);
for (int i = 0; i < parent.length; i++) {
int d = 0;
int p = parent[i];
while (p >= 0) {
d++;
p = parent[p];
}
depth[i] = d;
}
return depth;
}