我的BST中的findMax()方法有问题。当我运行它时,会出现堆栈溢出错误(ha)我就是不明白我到底做错了什么任何洞察都将不胜感激。这是我目前掌握的密码。

public AnyType findMax() throws EmptyBSTException {

    if ( isEmpty() )
        throw new EmptyBSTException();

    return findMax( root ).getElement();

}


private BinaryNode<AnyType> findMax( BinaryNode<AnyType> node ) {

           if(root.getRight() == null) {
            return root;
           }
           else {
            return findMax(root.getRight())
}

            }

最佳答案

您几乎肯定希望在第二个函数中到处都写node,而不是root

08-25 19:38