在整个二叉搜索树中搜索

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);
 }