Java foreach递归返回(树中的 child 数)

标签 java recursion foreach tree

我遇到了一个简单的递归函数的问题,该函数应该返回树中的子级数,它只进入每个子级的第一个子级,忽略 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/

相关文章:

java - izpack 自定义信息国际化

python - 计算嵌套列表中元素的递归函数的大 O

java - 递归java问题

java 8流收集最大对象并按属性区分

java - 为什么 FlowLayout 中左侧的 TextField 不显示文本提示,而右侧的 TextField 却显示?

java - 将 String 转换为 Char 数组,然后仅返回数组的偶数索引

java - 在 swt 中提交的多行文本上使用 Tab 键?

algorithm - 为什么创建调用二叉树的递归方法的空间复杂度为 O(h)?

java - JSTL 计算 ForEach 循环

php - PHP 中 FOR 与 FOREACH 的性能