treeDepths function

List<int> treeDepths(
  1. List<int> parent
)

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;
}