这个程序以递归方式工作,但是,我尝试在不必更改方法参数的情况下不以递归方式工作。谢谢,任何事都会有帮助的!
private Node insertTree(Node root, Node node) { //root and node is current vs. next
if (root == null) {
return node;
}
if(node.getCurrentNum() < root.getCurrentNum()) { //Means it is a left child
root.setLeftChild(insertTree(root.getLeftChild(), node)); //RECURSIVE MUST FIX
root.getLeftChild().setParent(root);
}
else if(node.getCurrentNum() >root.getCurrentNum()) { //Means it is a right child
root.setRightChild(insertTree(root.getRightChild(), node)); //RECURSIVE MUST FIX
root.getRightChild().setParent(root);
}
return root;
}
}
2条答案
按热度按时间lbsnaicq1#
最后这是我得到的感谢安德烈亚斯。
lokaqttq2#
因为你只跟着其中一个
leftChild
或rightChild
,决不能两者同时存在Node
,您不需要回溯,因此可以轻松地使用循环来实现这一点。