我正在尝试编写自己的二叉树,但插入时遇到问题。树中的值是重复的。我有带有“节点右、左和 int 值”字段的内部静态类 Node 和带有一个字段的外部类 BinaryTree - 节点根。
插入代码:
public void insert(int number) {
if (root.isEmpty())
root.value = number;
else {
Node node = root;
insert(number, node);
}
}
private void insert(int number, Node node) {
if (number < node.value && node.left != null) {
node = node.left;
insert(number, node);
} else {
if (node.left == null)
node.left = new Node(null, null, number);
}
if (number > node.value && node.right != null) {
node = node.right;
insert(number, node);
} else {
if (node.right == null)
node.right = new Node(null, null, number);
}
}
我做错了什么?