在整个二叉搜索树中搜索
search in whole binary search tree
我有一个方法可以打印电影的标题,如果它与参数中的年份相匹配的话。
private void searchByYear(BTNode root, int year) {
BTNode temp = root;
if(temp == null)
return;
else if(temp.data.titleYear == year){
System.out.println(temp.data.title);
}
else{
searchByYear(temp.left, year);
searchByYear(temp.right, year);
}
}
问题:它打印了一些电影,而不是全部。我认为问题应该在递归调用中。
注意:不是按照年份排序,所以我要从整棵树上找。我还希望打印方法,而不是 return 节点。
将 else if
块与 else
块合并,以便它在执行检查后进行递归调用。
private void searchByYear(BTNode root, int year) {
BTNode temp = root;
if(temp == null)
return;
if(temp.data.titleYear == year){
System.out.println(temp.data.title);
}
searchByYear(temp.left, year);
searchByYear(temp.right, year);
}
我有一个方法可以打印电影的标题,如果它与参数中的年份相匹配的话。
private void searchByYear(BTNode root, int year) {
BTNode temp = root;
if(temp == null)
return;
else if(temp.data.titleYear == year){
System.out.println(temp.data.title);
}
else{
searchByYear(temp.left, year);
searchByYear(temp.right, year);
}
}
问题:它打印了一些电影,而不是全部。我认为问题应该在递归调用中。
注意:不是按照年份排序,所以我要从整棵树上找。我还希望打印方法,而不是 return 节点。
将 else if
块与 else
块合并,以便它在执行检查后进行递归调用。
private void searchByYear(BTNode root, int year) {
BTNode temp = root;
if(temp == null)
return;
if(temp.data.titleYear == year){
System.out.println(temp.data.title);
}
searchByYear(temp.left, year);
searchByYear(temp.right, year);
}