您好。我在以recursuve格式编写此方法(在照片中)时遇到问题。该方法获得二叉搜索树中给定元素的出现量。 为了递归地解决这个问题,我试图用一个同名的私有帮助器方法实现它,如下所示:
public int count(){
count = 0;
if (root == null)
return count;
return count (root.getInfo());
private int count(T element){
(Basically the same code you see in the photo)
}
但我最终出现了溢出错误。您是否介意看一看并告诉我如何以递归方式构造此方法?
干杯,谢谢。
答案 0 :(得分:1)
暂定实施可能如下所示。
public int count(T element, T root){
if(element == null) {
return 0;
}
int count = 0;
int compare = element.compareTo(root.getInfo());
if(compare == 0){
count++;
}
count += count(element, root.getLeft());
count += count(element, root.getRight());
return count;
}
count(item, root);