我有一个包含人的 BinarySearchTree。每个人都有生日月份的财产。
如果人们的生日月份相同,我有以下代码试图将节点推送到堆栈中。但是当我运行程序时,它会抛出 java.lang.OutOfMemoryError: Java heap space。
如何获取具有相同生日月份的所有元素并将它们推送到堆栈?
编辑:基于工作代码的确定 KarlP 的回答
//Part of the code
//Declared in Instance Variables
private Stack<BinaryNode> st = new Stack<BinaryNode>();
//Methods
public void getSame(BinaryNode node, String mo){
if(node != null){
if (mo.equalsIgnoreCase(node.people.getBmonth())){
st.push(node);
}
getSame(node.left, mo);
getSame(node.right, mo);
}
}
public void getSt(String mo){
getSame(root, mo);
}