根据给定的标准对二叉树中的节点进行计数(递归)

问题描述 投票:0回答:1

我想使用Java中的二叉搜索树递归计算60级以下的失败学生人数。我不知道我的方法是否正确。在

之后找到公共包装器方法中要使用的helper方法
    private int NumberfailStudents(int numoffailed, BNode current) {
        // BaseCase
        if (current == null) {

            return 0 + numofpassed;

        } else {

            if (current.data.getGrades() < 60) {
                return ++numoffailed;
            }

            if (current.left != null) {
                return NumberfailStudents(numoffailed, current.left);
            }
            if (current.right != null) {
                return NumberfailStudents(numoffailed, current.right);
            }

        }

        return numoffailed;

    }
java recursion binary-search-tree
1个回答
1
投票
中找到要使用的辅助方法

如果检查电流是否为if条件,则应返回numoffailed而不是numofpassed

我已经更新了NumberFailStudents以匹配命名约定

    private int NumberFailStudents(int numOfFailed, BNode current) {
        if (current == null)
            return numOfFailed;

        if (current.data.getGrades() < 60)
            ++numOfFailed;

        if (current.left != null)
            numOfFailed = NumberFailStudents(numOfFailed, current.left);

        if (current.right != null)
            numOfFailed = NumberFailStudents(numOfFailed, current.right);

        return numOfFailed;
    }
© www.soinside.com 2019 - 2024. All rights reserved.