我遇到一个简单的递归函数的问题,该函数应该返回树中的子项数,它只会在每个忽略foreach的子节点的第一个子节点中,因为函数已经返回了一些东西。 我不知道该怎么做。
public static int numberOfChildren(Node<Integer> a) {
if(!a.isLeaf()) {
for(Node<Integer> f : a.getChildren()) {
return 1 + numberOfChildren(f);
}
}
return 0;
}
答案 0 :(得分:1)
int nbr = 1;
for (Node<Integer> f: a.getChildren()) {
nbr += numberOfChildren(f);
}
return nbr;