我遇到了一个简单的递归函数的问题,该函数应该返回树中的子级数,它只进入每个子级的第一个子级,忽略 foreach 可能是因为该函数已经返回了一些东西。 我不知道该怎么办。
public static int numberOfChildren(Node<Integer> a) {
if(!a.isLeaf()) {
for(Node<Integer> f : a.getChildren()) {
return 1 + numberOfChildren(f);
}
}
return 0;
}
最佳答案
int nbr = 1;
for (Node<Integer> f: a.getChildren()) {
nbr += numberOfChildren(f);
}
return nbr;
关于Java foreach递归返回(树中的 child 数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46875151/