独自のバイナリツリーを作成しようとしていますが、挿入に問題があります。ツリーの値が複製されます。「Noderight、left and intvalue」フィールドを持つ内部静的クラスNodeと、1つのフィールド(ノードルート)を持つ外部クラス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);
}
}
私は何を間違っていますか?