[英]Counting nodes in a binary tree according to a given criteria (recursively)
我想使用 java 中的二叉搜索树递归计算成绩低于 60 的失败学生的数量。 我不知道我的方法是否正确。 之后找到要在公共包装方法中使用的辅助方法
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;
}
如果检查电流的 if 条件是 null 应该返回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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.